【发布时间】:2015-11-16 23:09:13
【问题描述】:
我正在尝试将rep 与dplyr 一起使用,但我不完全理解为什么我不能让它工作。
我的数据如下所示。我想要的是通过n 对每个id 简单地重复dayweek。
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))
【问题讨论】:
-
不能做作业,显示
idnot found. -
summarise旨在为每个组返回一个值。do可能会让你更幸运 -
抱歉我重新上传了数据。这是因为当我在
dplyr数据类型(不知道名称)上使用dput时,它无法正常工作 -
这些答案中的任何一个都应该有效:stackoverflow.com/q/2894775/1191259