我有重复的任务,即提取列表的一部分并将它们保存为新的变量名。
我可以使用aaa_report <- original[["aaa"]]
,我有一个名为aaa_report
的新变量,它是列表变量aaa
original
部分
现在我想自动完成这个重复的任务:
aaa_report <- original[["aaa"]]
bbb_report <- original[["bbb"]]
ccc_report <- original[["ccc"]]
...
我有一个名为dept
的单独“字符”列表变量,其中包含所有名称dept <- c("aaa", "bbb", "ccc", "...")
我尝试使用sapply
并收到此错误。
sapply(dept, function(x) x"_report" <- original[[x]])
错误:“sapply”中的意外字符串常量(dept,function(x) X “_report”“
我已尝试过所有apply
家庭和for loop
但没有运气。
for(x in dept){
x"_report" <- original[[x]]
}
我是R的初学者和一般的编程,所以任何建议都会有很大的帮助。
答案 0 :(得分:0)
你很近,使用assign
功能:
for(x in dept) assign(paste0(x, "_report"), original[[x]])
它不适用于apply
函数,因为赋值将位于apply
函数的本地环境中。
如评论中所述,将所有内容保存在列表中总是更好。