【发布时间】:2019-06-15 05:28:22
【问题描述】:
相对 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 打交道的问题。
感谢您的任何意见,并让我知道如何进一步澄清。
谢谢大家!
【问题讨论】:
-
你能和
dput()分享你的数据吗 -
试试
df.loc[df[['col1']]==1,'col1']。带双[[。 -
感谢@Parfait,这导致我使用: temp Sensorineural deafness==1), 'Sensorineural deafness'] 这将返回一个向量,正如我所期望的只有 1 秒