数据框值获取整数值而不是文本

问题描述 投票:0回答:1

这是我的数据:

require(HH)
data(ProfChal)
rowsCount = length(ProfChal$Question)
ProfChal$NEW = character(rowsCount)

它看起来像这样: HH ProfChal dataset

当我运行这个循环时:

for (r in 1:rowsCount){
  ProfChal[r,"NEW"] = ProfChal[r,"Subtable"]
}

新列中有整数: Results table after running for loop - integers filled in

我想要文本值而不是整数。调试它让我感到困惑......

ProfChal[2,"Subtable"]返回[1] Employment sectorProfChal[1,"NEW"] = "asdf"按预期工作。

r string dataframe for-loop integer
1个回答
2
投票

问题是列Subtable存储为factor而不是character。您可以通过输入class(ProfChal[ ,"Subtable"])来检查。

您可以使用as.character将此列转换为字符:

ProfChal[, "NEW"] = as.character(ProfChal[, "Subtable"])

另请注意,在此示例中您不需要for循环。

© www.soinside.com 2019 - 2024. All rights reserved.