【问题标题】:R: data.table Subsetting multiple data sets at the same timeR: data.table 同时对多个数据集进行子集化
【发布时间】:2020-05-04 23:11:22
【问题描述】:

我目前在 R 中使用 data.table 并尝试将几个数据表的列表子集化为一个名为“名称”的特定变量。我曾尝试使用 lapply 这样做,但没有成功。我的代码有问题吗?

这是我尝试过的:

   data_tables<-c("one", "two", "three", "four", "five")
   lapply(mget(data_tables),function(x)x[, c("name")])

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    我们可以使用.(

    library(data.table)
    lapply(mget(data_tables),function(x)x[, .(name)])
    

    或指定.SDcols 中的列/列并将.SD 子集化

    lapply(mget(data_tables),function(x)x[, .SD, .SDcols = 'name'])
    

    或者如果我们想提取为向量,使用[[

    lapply(mget(data_tables),function(x) x[["name"]])
    

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 2016-10-29
      • 2017-12-23
      • 1970-01-01
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多