Я пытаюсь использовать rep
с dplyr
, но я не совсем понимаю, почему я не могу заставить его работать.dplyr повторение внутри%>% оператор
Мои данные выглядят следующим образом. Я хочу просто повторить dayweek
по n
для каждого id
.
head(dt4)
id dayweek n
1 1 Friday 3
2 1 Monday 3
3 1 Saturday 3
4 1 Sunday 3
5 1 Thursday 3
6 1 Tuesday 3
То, что я пытаюсь сделать это в пределах dplyr
потока
cbind(rep(dt4$id, dt4$n), rep(as.character(dt4$dayweek), dt4$n))
, который дает
[,1] [,2]
[1,] "1" "Friday"
[2,] "1" "Friday"
[3,] "1" "Friday"
[4,] "1" "Monday"
[5,] "1" "Monday"
[6,] "1" "Monday"
Я не понимаю, почему этот код не работает
dt4 %>%
group_by(id) %>%
summarise(rep(dayweek, n))
Error: expecting a single value
Может ли кто-нибудь поможет мне в этом?
данные
dt4 = structure(list(id = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), dayweek = structure(c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L,
4L, 5L, 6L, 7L), .Label = c("Friday", "Monday", "Saturday", "Sunday",
"Thursday", "Tuesday", "Wedesnday"), class = "factor"), n = c(3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3)), class = "data.frame", .Names = c("id",
"dayweek", "n"), row.names = c(NA, -21L))
не могут сделать задание, оно показывает 'id' не найдено. –
'summaryise' предназначен для возврата единственного значения для каждой группы. Вероятно, вам повезет больше с 'do' –
: https://stackoverflow.com/questions/21737815/ и https://github.com/hadley/dplyr/issues/154 –