【问题标题】:Subseting data frame by indices (row names)按索引(行名)对数据框进行子集
【发布时间】:2014-05-26 11:15:55
【问题描述】:

我有以下问题,我有 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

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

【问题讨论】:

    标签: r


    【解决方案1】:

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

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

    用户定义的行名是字符。

    【讨论】:

      【解决方案2】:

      试试这个:

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

      或:

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

      【讨论】:

        猜你喜欢
        • 2019-02-16
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 2016-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-14
        相关资源
        最近更新 更多