簡體   English   中英

dplyr,分組依據和變異-錯誤的結果大小

[英]dplyr, group by and mutate - wrong result size

這是我的示例:

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

您能幫我了解我做錯了什么嗎?

用這個:

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

如果出於某種原因要傳遞帶引號的列名,則必須使用group_by_而不是group_by 注意_在函數末尾。

您可以類似的方式使用所有dplyr動詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM