R:data.table-将变量添加到数据表列表中,该列表包含列表中每个表的名称

R:data.table-将变量添加到数据表列表中,该列表包含列表中每个表的名称,r,data.table,R,Data.table,我目前正在使用data.table在R中工作,并试图将变量“data_set”添加到数据表列表中,该列表包含列表中该项的名称 例如,表的列表是med、symp和care,我想将变量data_集添加到每个表中,其中在data table med中,“data_集”将等于“med”,在data table symp中,“data_集”将等于“symp”。我知道我可以使用lappy实现这一点,但我一直在研究如何将每个表的名称存储在“data_set”变量中。我知道会是这样的 tables<

我目前正在使用data.table在R中工作,并试图将变量“data_set”添加到数据表列表中,该列表包含列表中该项的名称

例如,表的列表是med、symp和care,我想将变量data_集添加到每个表中,其中在data table med中,“data_集”将等于“med”,在data table symp中,“data_集”将等于“symp”。我知道我可以使用lappy实现这一点,但我一直在研究如何将每个表的名称存储在“data_set”变量中。我知道会是这样的

   tables<-c("med", "symp", "care")
   tables_1<-lapply(mget(tables),function(x)x[, data_set:=…...])

表格我建议您可以在这里使用
Map
而不是
lappy


med我建议您可以在这里使用
Map
而不是
lappy


med这应该行得通,但是我在mget(tables)中得到了一个错误-error:第一个参数无效如果
tables
是一个字符向量,并且所有这些名称都存在于当前环境中,那么它将行得通。(如果我错误地键入了
mget(table)
,它使用的是函数
table
,而不是变量
tables
),我可以重现该错误。它可能引用了
数据。table::tables
,但失败了。我能够让它正常工作。我的错误。我把它用在了一张名单上,这张名单是由之前的一次意外失误造成的。如果我在原始列表中使用它(如我的问题中所列),它会工作!但是有没有一种方法可以让它处理上一次lappy所产生的数据表列表呢?我需要在插入列表之前修改它吗?还有
lappy(tables,function(x)get(x)[,data_set:=x])
这应该可以工作,但是我在mget(tables)中得到了错误-error:第一个参数无效如果
tables
是一个字符向量,并且所有这些名称都存在于当前环境中,那么它就可以工作。(如果我错误地键入了
mget(table)
,它使用的是函数
table
,而不是变量
tables
),我可以重现该错误。它可能引用了
数据。table::tables
,但失败了。我能够让它正常工作。我的错误。我把它用在了一张名单上,这张名单是由之前的一次意外失误造成的。如果我在原始列表中使用它(如我的问题中所列),它会工作!但是有没有一种方法可以让它处理上一次lappy所产生的数据表列表呢?我是否需要在插入列表之前修改它?以及
lappy(表,函数(x)get(x)[,数据集:=x])