【发布时间】:2016-07-13 21:10:45
【问题描述】:
我有一个名为mergedColors 的颜色列表。从这个颜色列表中,我使用for() 循环来创建一个与每种唯一颜色对应的矩阵。到目前为止,一切正常。然后,我想在最初创建它们之后继续更改/编辑循环中的矩阵。在示例中,我尝试更改第三列的名称。但是,我不完全确定如何去做。当我尝试通过与创建它们相同的语法来调用它们时,
colnames(paste("merged",each,sep="_"))[3] = "Temp"
R 返回错误:“赋值目标扩展为非语言对象”。我应该如何调用我刚刚在循环中创建的矩阵?
样本数据:
mergedColors = c("red", "blue", "green", "red", "black", "blue", "blue", "green", "yellow", "red")
table(mergedColors)
for(each in unique(mergedColors)){
assign(paste("merged",each,sep="_"), as.matrix(cbind(cars, c(each))))
#colnames(paste("merged",each,sep="_"))[3] = "Temp"
}
【问题讨论】:
-
有人会告诉你使用
get,但你不应该这样做。您应该返回并使用命名列表重做所有这些操作。 -
@joran 在已经使用
get得到答案之后,您发表了该评论。 -
@Hack-R 我的网页一定是刷新很慢,没看到。
标签: r