У меня есть фрейм данных, который состоит из 3 столбцов, каждый из которых представляет группу, к которой принадлежат респонденты. Респонденты принадлежат к одной из этих групп, и им поручено представить свои числовые ответы в столбце группы, к которой они принадлежали. Следовательно, для данной строки 2 других столбца будут пустыми.
Мне нужно создать столбец, у которого есть оценка, независимо от того, к какой группе он принадлежал. На Stackoverflow есть такой же вопрос, как у меня, но это для Python (см. здесь )
Вот как будут выглядеть данные и что я сделал:
library(dplyr)
df <- data.frame(grp_A = c(13, NA, NA, NA, NA, 20, NA),
grp_B = c(NA, 59, 66, NA, NA, NA, NA),
grp_C = c(NA, NA, NA, 23, 42, NA, NA))
df$value <- apply(select(df, grp_A, grp_B, grp_C), 1,
function(x) x[!is.na(x)])
Поскольку в некоторых строках отсутствуют данные, R неправильно преобразует этот новый столбец в список. Я попытался преобразовать его обратно во фрейм данных, используя as.data.frame
, но это не сработало.
Пожалуйста, посоветуйте, как предотвратить превращение вновь созданного столбца в список.