1
我想在嵌套数据帧上执行spread
,但无法实现。下面是一个正常的数据帧上使用spread
玩具数据帧:在嵌套数据帧上执行传播
df <- data.frame(A = 1:4, B = 5:8)
df %>% spread(A,B)
1 2 3 4
1 5 6 7 8
下面是一个嵌套的数据帧和我已经尝试了玩具的例子(但不工作):
df <- data.frame(dummy=c(1,1,2,2), A = 1:4, B = 5:8)
df %>%
nest(-dummy) %>%
mutate(data = map(data, ~spread(.x$A,.x$B)))
Error in mutate_impl(.data, dots) :
Evaluation error: Invalid column specification.
感谢您的帮助!
“spread”的第一个参数是数据框,而不是列。所以也许'地图(数据,〜传播(.x,A,B))'? – lukeA
'spread'使用非标准评估,因此您不能使用'$'subsetting;你需要提供一个'.data'参数,或者用上面的lukeA的建议,或者隐式地不用'〜':'df%>%nest(-dummy)%>%mutate(data = map(data,spread,A, B))' – alistaire