这是我的数据:
require(HH)
data(ProfChal)
rowsCount = length(ProfChal$Question)
ProfChal$NEW = character(rowsCount)
当我运行这个循环时:
for (r in 1:rowsCount){
ProfChal[r,"NEW"] = ProfChal[r,"Subtable"]
}
我想要文本值而不是整数。调试它让我感到困惑......
ProfChal[2,"Subtable"]
返回[1] Employment sector
。
ProfChal[1,"NEW"] = "asdf"
按预期工作。
问题是列Subtable
存储为factor
而不是character
。您可以通过输入class(ProfChal[ ,"Subtable"])
来检查。
您可以使用as.character
将此列转换为字符:
ProfChal[, "NEW"] = as.character(ProfChal[, "Subtable"])
另请注意,在此示例中您不需要for循环。