指示要在R函数中汇总的列

时间:2020-09-01 00:15:27

标签: r dplyr

我正在创建一个R函数,以使反应性图具有光泽。 我的数据框有几列,但是我只想使用我的列Platform和一列来执行聚合,可以是Input.RecordsOutput.Records

因此在闪亮的应用程序中,如果用户想查看输入记录或输出记录,则可以使用按钮进行选择。根据选择,该函数将创建子集并对其进行相应绘制。

但是,似乎不能将列名称作为字符串或带有反引号的对象传递。因此我无法说明该函数如何计算子集。

到目前为止我的代码。

library(ggplot2)
library(dplyr)
myData<- data.frame(read.table(file = "mydata.txt", header = TRUE, sep="\t"))
myData$Date <- as.Date(myData$Date, format = "%Y-%m-%d")


platform_records <- function(recordType) {
  platformFilter <- myData%>% group_by(`Platform`) %>% summarise(`recordType` = sum(`recordType`))
  
  myPlot <- platformFilter %>% ggplot(aes(x=Platform, y=`recordType`, group=1)) +
    geom_path() + scale_y_continuous(labels = scales::comma)
  return(myPlot)
}

platform_records(recordType = "Input.Records")
#Error: Problem with `summarise()` input `recordType`.
#x 'type' (character) of invalidArgument
#i Input `recordType` is `sum(recordType)`.
#i The error occurred in group 1: Platform = "FF".

关于如何实现此目标的任何想法?

0 个答案:

没有答案