此处为低级R用户。
我有3个人口数据框(low.proj,med.proj,high.proj),其行和列的数量完全相同,我试图清理和重塑。
我想在所有三个框架的国家/地区列中删除一些额外的逗号,因此我尝试使用gsub进行此循环:
for(i in c("low.proj", "med.proj", "high.proj")){
i$Country <- gsub(",","",i[,"Country"])
}
当我运行此操作时,我收到错误&#34; i [,&#34; Country&#34;]错误:维度数量不正确&#34;
当我在没有循环的情况下运行代码时:
low.proj$Country <- gsub(",","",low.proj[,"Country"])
有效。导致此错误的原因是什么?如何解决?
答案 0 :(得分:0)
您正在为错误的变量建立索引:
i$Country <- gsub(",","",i[,"Country"])
i
是一个字符串,因此i$Country
没有任何意义。
答案 1 :(得分:0)
为了使用i
中包含的字符串检索对象的内容,请使用get()
将新数据放入该对象中,使用assign
for(i in c("low.proj", "med.proj", "high.proj")){
tmp <- get(i)
tmp$Country <- gsub(",","",tmp[,"Country"])
assign(i, tmp)
}