Например, у меня есть фрейм данных, и я хочу установить его в соответствии с конкретными условиями:
df[df$gender == "woman" & df$age > 40, ]
Каков алгоритм этой фильтрации в R?
Во время выполнения кода df[df$gender == "woman" & df$age > 40, ] происходит следующее:
df$gender
df$gender == "woman"
boolean
df$age
df$age > 40
AND
df
TRUE
Во всех вышеупомянутых случаях вызываются функции C\C++ бэкэнда.Например, [] вызовы функций подмножества для do_subset в subset.c .
C\C++
[]
do_subset
Вы можете объединить отображение между функциями R и его C бэкэндом в names.c
C
Для получения более подробной информации вы можете обратиться к Доступ к источнику R