Значения фрейма данных получают целочисленные значения вместо текста - PullRequest
0 голосов
/ 10 апреля 2019

Вот мои данные:

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 sector.
ProfChal[1,"NEW"] = "asdf" работает как положено.

1 Ответ

2 голосов
/ 10 апреля 2019

Проблема в том, что столбец Subtable хранится как factor, а не character.Вы можете проверить это, набрав class(ProfChal[ ,"Subtable"]).

. Вы можете преобразовать этот столбец в символ, используя as.character:

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

Обратите внимание, что вам не нужен цикл for в этомпример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...