dplyr,group by和mutate - 错误的结果大小

时间:2017-02-08 19:31:37

标签: r group-by dplyr

以下是我的例子:

col_1 <- c('a','a','a','b','b')
col_4 <- c('h','h','k','t','t')
col_2 <- c('2015-10-10','2016-10-10','2015-10-10','2016-10-10','2016-10-10')
col_3 <- c(1,2,3,445,56)
test_df <- data.frame(col_1,col_2, col_3, col_4)


df_result <- test_df %>% group_by(.dots = c('col_1', 'col_4')) %>% mutate(result_col = max(col_3))

它会产生以下错误消息:

Error in mutate_impl(.data, dots) : 
  wrong result size (2), expected 5 or 1

你能帮我理解我做错了吗?

2 个答案:

答案 0 :(得分:2)

使用此:

SENT:
<iq to='chat_host' id='o2huU-440' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>

RECV:
<iq from='chat_host'id='o2huU-440' to='userJID'type='result'><query xmlns='http://jabber.org/protocol/disco#info'> <feature var='urn:xmpp:receipts'/></query>

答案 1 :(得分:1)

如果由于某种原因,您想要传递引用的列名,则必须使用group_by_而不是group_by。注意函数末尾的_

您可以以类似的方式使用所有dplyr动词。