Я пытаюсь привести в порядок кадр данных с gather
, но в процессе теряю информацию. Возьмите следующий фрейм данных:
df <- data.frame(user = letters[1:10], score_1 = sample(1:20, 10), score_2 = sample(1:20, 10))
> head(df)
user score_1 score_2
1 a 5 7
2 b 15 2
3 c 18 15
4 d 1 20
5 e 17 12
6 f 8 19
Отсюда мне нужно сохранить личность пользователя (первый столбец), превратить имена столбцов score_1
и score_2
в ключи в новом столбце «ключ» и преобразовать все значения столбцов 2 и 3 в значения моего нового столбца «значение». Вот что я пробовал:
gather(df, key = "user", value = "score", c(2,3))
user score
1 score_1 5
2 score_1 15
3 score_1 18
4 score_1 1
5 score_1 17
6 score_1 8
7 score_1 2
8 score_1 20
9 score_1 9
10 score_1 3
11 score_2 7
12 score_2 2
13 score_2 15
14 score_2 20
15 score_2 12
16 score_2 19
17 score_2 8
18 score_2 13
19 score_2 4
20 score_2 18
Этот вывод не является удовлетворительным, поскольку он теряет столбец user
в исходном кадре данных. Что я делаю не так?