R 赋值错误-第一个参数无效

R 赋值错误-第一个参数无效,r,R,我试图创建一个新的数据帧列,并在for循环中为其赋值 具体来说,我有一个数据帧名称的列表,我正在一个接一个地循环这个列表。对于每个名称,我希望为该数据帧创建一列$location,并为其指定一个值。为了简单起见,假设我想将其赋值为NA。下面的代码解释了我要做的事情。但是,当我运行它时,我在assign(get(name)$location,NA)中收到错误错误:第一个参数无效 names<-c("europe", "africa", "asia") # where each of the

我试图创建一个新的数据帧列,并在for循环中为其赋值

具体来说,我有一个数据帧名称的列表,我正在一个接一个地循环这个列表。对于每个名称,我希望为该数据帧创建一列
$location
,并为其指定一个值。为了简单起见,假设我想将其赋值为NA。下面的代码解释了我要做的事情。但是,当我运行它时,我在assign(get(name)$location,NA)中收到错误
错误:第一个参数无效

names<-c("europe", "africa", "asia")
# where each of the strings in `names` is the name of an existing data frame object
# for sake of example, code is provided below to create example data frame objects

x <- c(2,6,7)
y <- c(40, 42, 14)
europe <- data.frame(x,y)
africa <- data.frame(x,y)
asia <- data.frame(x,y)

for (name in names) {
  assign(get(name)$location, NA)
}

names如果您尝试您的代码,我在get(name)中得到
错误:找不到对象“europe”

所以我不能添加一列甚至不是对象的东西。 我想试试那样的

for (k in length(names)) {
  location <- c(data1, data2)
  assign(names[k], location)
}
for(长度为k(名称)){

位置数据框在我的工作区中已具有价值…我保留了名称以显示我正在尝试执行的操作。我将编辑我的问题以添加代码以创建欧洲数据框。请为您的代码提供更多信息,以帮助SO用户。
for (k in names) {
    assign(names[k], cbind(names[k], data.frame(location = NA)))
}