R根据“名称”列将A子集

R根据“名称”列将A子集,r,R,我正在处理名为“train”的泰坦尼克号数据集,我想根据列“Name”对数据进行子集划分(注意,我将列“Name”提取为“Mr”、“Miss”和“Mrs”)。 但是当我输入这个时: f3 <- train[train$Class== 3 & train$Name == 'Miss',] f3 f3 [1] 身份证类别姓名年龄性别票价家庭a (或长度为0的行名称) 嗯,您的命令行看起来非常好 f3 <- train[train$Class== 3 & train$

我正在处理名为“train”的泰坦尼克号数据集,我想根据列“Name”对数据进行子集划分(注意,我将列“Name”提取为“Mr”、“Miss”和“Mrs”)。 但是当我输入这个时:

f3 <- train[train$Class== 3 & train$Name == 'Miss',]  
f3 f3
[1] 身份证类别姓名年龄性别票价家庭a
(或长度为0的行名称)

嗯,您的命令行看起来非常好

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

f3考虑到@agenis和@akrun在其注释中提到的名称因子中似乎有空格,您可以使用stringr:

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

train$Name如果没有一个可复制的小示例,很难对其进行评论。从消息来看,数据集似乎没有组合。>str(train)'data.frame':714 obs。共8个变量:$Id:int 1 2 3 4 5 7 8 9 10 11…$类别:int 3 1 3 1 3 3 2 3…$名称:系数w/17级“上尉”、“上校”…:12 13 9 13 12 12 8 13 13 9…$年龄:22 38 26 35 54 2 27 14 4美元性别:系数w/2级“女性”、“男性”:2 1 2 1 1…$票价:7.2571.287.9253.18.05美元族:int 1 1 0 1 0 4 2 1 2…这是数据集的头>头(列)班名年龄性别票价家庭3先生22男7.2500 1 1夫人38女71.2833 1小姐26女7.9250 0 1夫人35女53.1000 1先生35男8.0500 1先生54男51.8625 0这足够吗?根据您提供的数据,培训[train$Class==3和train$Name=='Miss',]班名年龄性别票价家庭3 3 Miss 26女性7.925 0似乎问题来自用户在数据中没有看到的空白。应该关闭吗?感谢回答,但没有任何空白$Name:Factor w/17级别“Capt”,“Col”->嗯,在“Capt”之前确实有一个空格…所以可能在?agenis小姐之前也有。这可能是原因。
stru trim
from
stringr
可能是一个选项
library(stringr) 
train$Name <- str_trim(train$Name)
f3 <- train[train$Class== 3 & train$Name == 'Miss',]