我可以缩写 df[ !is.na(df$val) & df$val > 15] 吗?
Can I abbreviate df[ !is.na(df$val) & df$val > 15]?
我有一个数据框,我想从中提取 val
中的值大于 15 且 val
不是 NA
的记录:
df[ !is.na(df$val) & df$val > 15, ]
由于我假设在 R 中经常需要这样的比较,所以我想知道是否可以将这种比较缩写为 somewow。事实上,如果这个问题已经在 Whosebug 上被问到,我不会感到惊讶 - 但我无法通过搜索找到它。
subset
省略 NA 值并避免重复 df
:
subset(df, val > 15)
which
也消除了 NA 值,但必须重复 df
:
df[which(df$val > 15), ]
dplyr 包的 filter
类似于基础 subset
:
library(dplyr)
df %>% filter(val > 15)
使用 sqldf
删除 NA 值。
library(sqldf)
sqldf("select * from df where val > 15")
我有一个数据框,我想从中提取 val
中的值大于 15 且 val
不是 NA
的记录:
df[ !is.na(df$val) & df$val > 15, ]
由于我假设在 R 中经常需要这样的比较,所以我想知道是否可以将这种比较缩写为 somewow。事实上,如果这个问题已经在 Whosebug 上被问到,我不会感到惊讶 - 但我无法通过搜索找到它。
subset
省略 NA 值并避免重复 df
:
subset(df, val > 15)
which
也消除了 NA 值,但必须重复 df
:
df[which(df$val > 15), ]
dplyr 包的 filter
类似于基础 subset
:
library(dplyr)
df %>% filter(val > 15)
使用 sqldf
删除 NA 值。
library(sqldf)
sqldf("select * from df where val > 15")