我正在尝试动态更改循环中变量的类型。现在我有以下代码行
assign(paste("contractrenewal",i,
"[,\"SContract Product ID from Object\"]",sep = ""),
as.character(paste("contractrenewal",i,
"[,\"SContract Product ID from Object\"]", sep = "")))
在这里,我从1到18运行,我有18个数据帧如下(contractrenewal1
,contractrenewal2
,...,contractrenewal18
)。我在每个数据框名称SContract Product ID from Object
中都有一个类型为int的列,我希望它是字符类型。
上面的代码执行正常,但没有实现我想要的。我环顾四周,却找不到这样的东西
答案 0 :(得分:2)
快速(也许是肮脏)修复:
关注Gregor's link并将所有数据框放入列表中。
(为了重现你的例子,我制作了自己的清单:)
cr.list <- list()
for (i in 1:18) {
cr.list[[i]] <- data.frame("SContract Product ID from Object" =
as.integer(c(123, 412)))
}
然后你可以遍历列表:
for (i in 1:18) {
cr.list[[i]][, "SContract.Product.ID.from.Object"] <-
as.character(cr.list[[i]][, "SContract.Product.ID.from.Object"])
}
现在您可以使用character
看到您的变量为str(cr.list)
。