Создание новых столбцов из определенных элементов в ОДНОМ существующем столбце в R - PullRequest
0 голосов
/ 14 мая 2018

В настоящее время у меня есть набор данных и один столбец с определенными (неупорядоченными) значениями, которые мне нужны для его построения.Каждая переменная представляет собой целое число, которое представляет определенную категорию, например, 1 = VC, 2 = C, 3 = M и т. Д. Значения берутся из (1,2,3,4,5,8,9).

В настоящее время у меня есть что-то вроде этого:

    # A tibble: 571 x 1
    id
    <int>
     1     2
     2     3
     3     3
     4     1
   # ... with 561 more rows

Однако я пытаюсь получить что-то вроде этого:

    # A tibble: n x 6
    id
    <int>  
    1 1 2 3 4 5 8 9 <- With these being the new columns 
    2 1 2 3 4 5 8 9
    3 1 2 3 4 5 8 9
    4 1 2 3 4 5 8 9
    #... etc

В основном я хотел бы перейти от тревоги 1 к упорядоченному nx 6поэтому я могу суммировать каждое вхождение в 1,2,3 и т. д. Я пытался использовать транспонирование, но я не могу упорядочить его среди других проблем.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 14 мая 2018

может как то так?

# create a dataframe
d <- data.frame(A = c(1,1,2,1,1), B = c(2,2,10,1,2))

> d
  A  B
1 1  2
2 1  2
3 2 10
4 1  1
5 1  2


# we group the data by the columns A and B, and constructs a temporary extra 
# column, X which is the number of items in each group. Finally we use spread 
# to transform the data into the wanted format.

> d %>% dplyr::group_by(A,B) %>% 
    dplyr::summarise(X = n()) %>% 
    tidyr::spread(B,X, fill = 0)

# which return the data shown below, 

# A tibble: 2 x 4
# Groups:   A [2]
  A   `1`   `2`  `10`
* <dbl> <dbl> <dbl> <dbl>
1     1     1     3     0
2     2     0     0     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...