【发布时间】:2020-01-23 11:01:32
【问题描述】:
从“essurvey”包中,我有一个数据集(作为“列表”对象),我试图从中获取所有国家/地区的所有 ESS 轮次。为了稍微有效地做到这一点,我正在尝试创建一个可以为我执行此操作的函数,但是我遇到了一些问题:
首先,如果我使用“粘贴”函数来获取对象的名称,则会收到错误消息:
Error in paste: could not find function "paste<-"。
其次,当尝试使用函数设置名称只是为了查看它是否可以在没有粘贴部分的情况下工作时,它运行没有错误,但也没有任何结果。谁能看到解决方案?我感谢所有帮助!
ESS_Load <- function(N, CC){
temp <- Data[[N]]
paste(N, CC, sep = "_") <-
subset(temp, cntry == CC)
rm(temp)
}
ESS_Load(9, "NO")
【问题讨论】:
-
语法
paste(x, ...) <- y没有调用函数paste(),实际上等价于x <- `paste<-`(x, ..., value = y),而paste<-不存在。目前尚不清楚您想要的输出是什么,因为rm(temp)在任何情况下都会返回 NULL -
哦,这至少可以解释,谢谢!所需的输出是名称为
CC_N的数据帧,其中 cc 是国家代码,N 是 ESS 轮数。在数据列表对象中,所有 ESS 轮次都存储为数据框,我希望每个 country_round 都是它自己的数据框。