根据名称列进行R子集化

时间:2014-07-24 10:18:51

标签: r

我正在研究名为'train'的泰坦尼克号数据集,我希望根据“名称”列对数据进行子集化(请注意,我将“名称”列提取为“Mr”,“Miss”和“Mrs” )。 但是当我输入这个:

f3 <- train[train$Class== 3 & train$Name == 'Miss',]  

我收到此消息:

    > f3 
    [1] Id     Class  Name   Age    Sex    Fare   Family a     
    <0 rows> (or 0-length         row.names) 

2 个答案:

答案 0 :(得分:0)

嗯,你的命令行似乎很好

f3 <- train[train$Class== 3 & train$Name == 'Miss',]

所以我看不出有什么问题,也许检查你的'名字'数据后面没有点或空格,或者变量或行中的大写字母等等。

答案 1 :(得分:0)

考虑到你的评论中看起来像@agenis和@akrun提到的Name因素中有空格,你可以使用stringr:

library(stringr) 
train$Name <- str_trim(train$Name)
f3 <- train[train$Class== 3 & train$Name == 'Miss',]