data.table in r : subset using column index

前端 未结 2 1261
不知归路
不知归路 2020-12-21 15:26

DT - data.table with column \"A\"(column index==1), \"B\"(column index 2), \"C\" and etc

for example next code makes subset DT1 which consists rows where A==2:

相关标签:
2条回答
  • 2020-12-21 16:00

    It is not recommended to use column index instead of column names as it makes your code difficult to understand and agile for any changes that could happen to your data. (See, for example, the first paragraph of the first question in the package FAQ.) However, you can subset with column index as follows:

    DT = data.table(A = 1:5, B = 2:6, C = 3:7)
    
    DT[DT[[1]] == 2]
    
    #   A B C
    #1: 2 3 4
    
    0 讨论(0)
  • 2020-12-21 16:14

    We can get the row index with .I and use that to subset the DT

    DT[DT[, .I[.SD==2], .SDcols = 1]]
    #   A B C
    #1: 2 3 4
    

    data

    DT <- data.table(A = 1:5, B = 2:6, C = 3:7)
    
    0 讨论(0)
提交回复
热议问题