r - R如何处理过滤数据帧
问题描述
R 相对较新的用户,但仍在尝试了解 R 如何处理数据帧。
具体来说,我正在尝试根据列值过滤数据框。
Python pandas 等价物是:
df_temp = df.loc[df['col1']==1,'col1']
根据我的经验,这会返回一个所有值都等于 1 的系列。
我试图在 R 中做类似的事情,我有一个数据框,我正在使用下面的代码,但是,我不断得到返回值为 1 和“NA”的全长列
temp <- RAVE_ITN_BVAS_ADVIS3[RAVE_ITN_BVAS_ADVIS3$`Sensorineural deafness`==1, 'Sensorineural deafness']
所以我的问题有两个:
有没有更好的方法来过滤 R 中的数据帧?
R 是否只是将所有不等于 1 的值转换为 NA 然后返回全长列?如果是这样,这将是令人沮丧的,因为它总是会带来与 NA 打交道的问题。
任何输入表示赞赏,并让我知道如何进一步澄清。
谢谢你们!
解决方案
您可以使用包 dplyr 并使用功能过滤器:
filter(RAVE_ITN_BVAS_ADVIS3, `Sensorineural deafness`==1)
另外,我建议您使用包 data.table:
RAVE_ITN_BVAS_ADVIS3[`Sensorineural deafness`==1]
最好的
推荐阅读
- ios - 根据每个字符的位置过滤字符串?
- azure-active-directory - 即使在从 AAD 撤销权限后也能够更新访问令牌
- swift - SwiftUI:函数声明了一个不透明的返回类型,但其主体中的返回语句没有匹配的底层类型
- android - Kotlin this::variableName - :: 运算符的含义?
- c++ - 有没有一种好方法可以确保特定的 switch 语句处理所有枚举值?
- python - Python:用于长时间任务的子进程 Popen 的替代方案
- c# - 如何在 C# 中使用 HttpPostedFileBase 连接字符串?
- r - Knit to html 不会执行第 70 行的错误 b/c?
- javascript - 有没有办法将接口包装在具有“扩展名”之类的名称的对象中?
- python - Pyqt5,类函数不会改变标签文本