функция для изменения строк на столбец базы данных в столбце id

#r

#r

Вопрос:

Добавлено является частью моего набора данных в R.

 id time residuals
1   2   -2.0
1   3   2.1
2   2   -1.3
2   3   2
3   2   -1.4
3   3   1.5
  

Я хочу преобразовать набор данных на основе id следующим образом

 id  time1 time2
1   -2.0   2.1
2   -1.3    2
3    -1.4   1.5
  

Есть ли какая-либо функция, доступная в R, или я должен написать код для преобразования данных?!

Ответ №1:

Мы можем использовать spread после mutate изменения столбца ‘time’

 library(tidyverse)
df1 %>%
    mutate(time = str_c("time", time -1)) %>%
    spread(time, residuals)
#     id time1 time2
#1  1  -2.0   2.1
#2  2  -1.3   2.0
#3  3  -1.4   1.5
  

данные

 df1 <- structure(list(id = c(1L, 1L, 2L, 2L, 3L, 3L), time = c(2L, 3L, 
 2L, 3L, 2L, 3L), residuals = c(-2, 2.1, -1.3, 2, -1.4, 1.5)), 
 class = "data.frame", row.names = c(NA, 
  -6L))