2014-07-24 93 views
-3

我正在研究名爲'火車'的泰坦尼克號數據集,我想按照「名稱」列將數據子集(注意,我將「名稱」列提取爲「Mr」,「小姐「和」太太「)。 但是當我鍵入:R子按名稱列

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) 
+0

這是很難不小的重複的例子,發表評論。從消息看來,數據集似乎沒有組合。 – akrun

+0

> str(train) 'data.frame':714 obs。 8個變量: $ Id:int 1 2 3 4 5 7 8 9 10 11 ... $ Class:int 3 1 3 1 3 1 3 3 2 3 ... $ Name:Factor w/17 levels「 Capt「,」Col「,..:12 13 9 13 12 12 8 13 13 9 ... $年齡:第22 38 26 35 35 54 2 27 14 4 ... $性別:因子w/2級別「女性」,「男性」:2 1 1 1 2 2 2 1 1 1 ... $票價:數字7.25 71.28 7.92 53.1 8.05 ... $家庭:int 1 1 0 1 0 0 4 2 1 2。 .. –

+0

並且這是頭部的數據集 >頭(火車) 類名年齡性別票價家庭 3先生男22個7.2500 1個 1個太太女38名71.2833 1名3名 小姐女26張7.9250 0 1張太太35女53.1000 1 3先生35男8.0500 0 1先生54男51.8625 0 這就夠了嗎? –

回答

0

那麼,你的命令行看起來完全正常

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

,所以我看不出有什麼不對,也許檢查你的'名字'數據在它後面沒有例如一個點或空白空間,或者在變量或行中有一些大寫字母等。

+0

感謝您的回答,但沒有任何空間 –

+0

$名稱:因子瓦特/ 17水平「上尉」,「上校」 - >好吧,那裏有一個空白空間之前「上尉」...所以也許之前,小姐? – agenis

+0

@agenis。這可能是原因。 'stringr'中的'str_trim'可能是一個選項 – akrun

0

考慮,它看起來像你的名字因素@agenis和他們的意見@akrun提空格,你可以使用stringr:

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