R:在 for 循环中使用 gsub
R: using gsub in a for loop
此处为低级 R 用户。
我有 3 个人口数据框(low.proj、med.proj、high.proj),它们的行数和列数与我尝试清理和重塑的行数和列数完全相同。
我想在所有三个帧中删除国家/地区列中的一些额外逗号,所以我正在尝试使用 gsub 循环:
for(i in c("low.proj", "med.proj", "high.proj")){
i$Country <- gsub(",","",i[,"Country"])
}
当我 运行 这样做时,我收到错误 "Error in i[, "Country"] : incorrect number of dimensions"
当我运行没有循环的代码时:
low.proj$Country <- gsub(",","",low.proj[,"Country"])
有效。是什么原因导致此错误,我该如何解决?
您正在索引错误的变量:
i$Country <- gsub(",","",i[,"Country"])
i
是一个字符串,所以i$Country
没有任何意义。
要使用 i
中包含的字符串检索对象的内容,请使用 get()
将新数据放入该对象中,请使用 assign
for(i in c("low.proj", "med.proj", "high.proj")){
tmp <- get(i)
tmp$Country <- gsub(",","",tmp[,"Country"])
assign(i, tmp)
}
此处为低级 R 用户。
我有 3 个人口数据框(low.proj、med.proj、high.proj),它们的行数和列数与我尝试清理和重塑的行数和列数完全相同。
我想在所有三个帧中删除国家/地区列中的一些额外逗号,所以我正在尝试使用 gsub 循环:
for(i in c("low.proj", "med.proj", "high.proj")){
i$Country <- gsub(",","",i[,"Country"])
}
当我 运行 这样做时,我收到错误 "Error in i[, "Country"] : incorrect number of dimensions"
当我运行没有循环的代码时:
low.proj$Country <- gsub(",","",low.proj[,"Country"])
有效。是什么原因导致此错误,我该如何解决?
您正在索引错误的变量:
i$Country <- gsub(",","",i[,"Country"])
i
是一个字符串,所以i$Country
没有任何意义。
要使用 i
中包含的字符串检索对象的内容,请使用 get()
将新数据放入该对象中,请使用 assign
for(i in c("low.proj", "med.proj", "high.proj")){
tmp <- get(i)
tmp$Country <- gsub(",","",tmp[,"Country"])
assign(i, tmp)
}