2017-07-06 33 views
1

我需要根據數據框的子集名稱命名。我試過下面的代碼,但它不工作。子集不同行的數據框按行名稱

Name plot 
12  25 
22  23 
14  12 
16  22 
23  54 

DF.new <- subset(DF, rownames== c("12" , "16")) 
+0

'$ DF可以Name'只是'Name' –

+0

「不工作」 還不是很清楚。具體的錯誤信息或輸出將會更有用。還有一個你想要輸出結果的具體例子(我假設Name是12或16的行?)。還要小心檢查名稱列是數字還是字符。如果是數字,則在使用%in%時,您需要將引號從數字中除去。 –

回答

1

使用dplyr

library(dplyr) 
DF <- data.frame(row.names=c("12a", "22a", "13a"), Name=c("12","22","13"), plot=c(25,18,9)) 

如果您想通過數據幀列 「名稱」 來篩選,那麼:

DF.new -> DF %>% filter(Name %in% c("12", "16")) 

如果你想通過實際row.names過濾df,則:

DF.new -> DF %>% filter(row.names(DF) %in% c("12a","13a")) 

或者,使用基礎R:

DF.new -> DF[DF$Name %in% c("12","13"), ]

DF.new -> DF[row.names(DF) %in% c("12a","13a"),]

相關問題