亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

dplyr中的標準評估:總結以字符串形式給出的變量

dplyr中的標準評估:總結以字符串形式給出的變量

慕田峪9158850 2019-09-21 14:02:25
我想在中引用一個未知的列名summarise。引入的標準評估函數dplyr 0.3允許使用變量來引用列名,但是當您base在內調用R函數時,這似乎不起作用summarise。library(dplyr)key <- "v3"val <- "v2"drp <- "v1"df <- data_frame(v1 = 1:5, v2 = 6:10, v3 = c(rep("A", 3), rep("B", 2)))df看起來像這樣:> dfSource: local data frame [5 x 3]  v1 v2 v31  1  6  A2  2  7  A3  3  8  A4  4  9  B5  5 10  B我想刪除v1,按v3分組,并對每個組求和v2:df %>% select(-matches(drp)) %>% group_by_(key) %>% summarise_(sum(val, na.rm = TRUE))Error in sum(val, na.rm = TRUE) : invalid 'type' (character) of argumentNSE版本的select()工作正常,因為它可以匹配字符串。SE版本的group_by()工作正常,因為它現在可以接受變量作為參數并對其求值。但是,在函數內部使用基本R函數時,我還沒有找到獲得類似結果的dplyr方法。無效的事情:df %>% group_by_(key) %>% summarise_(sum(get(val), na.rm = TRUE))Error in get(val) : object 'v2' not founddf %>% group_by_(key) %>% summarise_(sum(eval(as.symbol(val)), na.rm = TRUE))Error in eval(expr, envir, enclos) : object 'v2' not found我已經檢查了幾個 相關的 問題,但是到目前為止,沒有一個建議的解決方案對我有用。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 689 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號