Как разместить несколько столбцов как один столбец наиболее легко в R данных? - PullRequest
0 голосов
/ 01 февраля 2020

Как сделать так, чтобы значения в столбцах 1, 2, 3, 4 отображались как значения в одном столбце 1, в котором значения располагаются одно под другим? Содержимое не число c. Я не могу установить пакет tidy verse по какой-то причине. Есть ли другой способ сделать это? sh? Мой фрейм данных df выглядит примерно так

df
Person1 Person2 Person3 Doctor Self No Friend No Others
Self Others Doctor
Я хочу, чтобы фрейм данных был:
df1
Person
Doctor
Friend
Self
Self
No
Others
No
Others
Doc

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020
data.table::melt()

или

reshape::melt()

Пример

library(reshape)
mdata <- melt(mydata, id=c("id","te")) 

Результат

d   t   v   value
1   1   x1  5
1   2   x1  3
2   1   x1  6
2   2   x1  2
0 голосов
/ 01 февраля 2020

Как правило, отметьте этот отличный ответ о том, как создать воспроизводимый пример в R. Это поможет другим быстрее дать ответы.

Вы можете найти способ получите ваши данные в длинном формате, используя tidyr (при условии, что ваши столбцы заполнены перемешиванием, как вы упомянули).

> df <- data.frame(col1 = c("some", "strings"), col2 = c("more", "strings"), col3 = c("lotof", "strings"))
> df
     col1    col2    col3
1    some    more   lotof
2 strings strings strings

> library(tidyr)
> pivot_longer(df, c(col1, col2, col3))
# A tibble: 6 x 2
  name  value  
  <chr> <fct>  
1 col1  some   
2 col2  more   
3 col3  lotof  
4 col1  strings
5 col2  strings
6 col3  strings

Что касается проблем с установкой пакета, вы можете скопировать всплывающую ошибку и вывод консоли из sessionInfo()

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