r - 我可以缩写 df[ !is.na(df$val) & df$val > 15] 吗?

标签 r dataframe comparison na

我有一个数据框,我想从中提取 val 中的值大于 15 以及 val 不是 NA:

 df[ !is.na(df$val) & df$val > 15, ]

由于我假设在 R 中经常需要这样的比较,所以我想知道是否可以将这种比较缩写为 somewow。事实上,如果这个问题已经在 StackOverflow 上被问到,我也不会感到惊讶 - 但我无法通过搜索找到它。

最佳答案

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")

关于r - 我可以缩写 df[ !is.na(df$val) & df$val > 15] 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55444397/

相关文章:

根据第二个数据帧中的值替换数据帧中的 header

python - tz_convert 进行的时区转换不会保存在 pandas 数据框中

奇数的Python逻辑测试

r - 使用 dplyr 选择前 n 个组,然后绘制其他变量

r - R OpenCPU可以同时处理多少个请求

python - 获取字数大于 1 的索引值组

c - NULL 指针与零段错误的比较

sql - 比较 Oracle 中的字符串

r - 部分斜体,axis.text.x

R:使用 d*ply 的多个 ggplot2 绘图