按索引(行名称)子集数据框

时间:2014-05-26 11:15:55

标签: r

我有以下问题,我有100000行的原始数据集,并且当加载到r时,每行被分配一个行名称,或索引从1到100000.现在我对原始数据进行了很多操作,转换,子集等等,索引仍然存在,这就是我想要的,但我不明白如何选择使用它们。这是一个例子:

localTrain[1:10, c("Weight", "Label")]
    Weight Label
1   0.002653311     s
2   2.233584487     b
3   2.347388944     b 
4   5.446378212     b 
6   0.083414031     b 
8   0.018636117     s 
9   5.296002985     b 
10  0.001501870     s 
12  0.307169524     b 
15  2.151198668     b

但是如何通过索引选择,例如只有索引为1,6,15的行,即:

   Weight Label
1  0.002653311     s
6  0.083414031     b
15 2.151198668     b

通过这种方式,我可以从数据子集中选择行,并对原始数据进行一些操作,但只对具有相同索引或行名的值进行操作。

2 个答案:

答案 0 :(得分:2)

如果您需要具有稳定定义的rownames,那么您应该确定rownames。

rownames(localTrain) <- as.character(seq_len(nrow(localTrain)))
localTrain[c("1", "6", "15"), ]

用户定义的rownames是字符。

答案 1 :(得分:1)

试试这个:

localTrain [index (localTrain) %in% c(1,6,15),]

或:

localTrain [rownames(localTrain) %in% c("1", "6", "15"),]