dplyr函数抛出" filter_impl(.data,dots)中的错误:一元运算符的无效参数"

时间:2017-04-12 16:24:35

标签: r dplyr

长期以来的SAS用户,但新手R程序员试图通过Coursera的R编程课程学习。在最后的任务中,尝试输出医院的最低死亡率,具有状态和结果名称的功能输入(例如,心脏病发作)。

我试图用dplyr做所有事情,因为我知道这是一种纠结数据的好方法。但是我的代码在filter_impl(.data,dots)中抛出一个"错误:一元运算符的无效参数"错误。

以下是我尝试过的内容:审核了数据科学" R"书,搜索StackOverflow和其他在线地方,运行我的功能片段缩小它的位置(我只粘贴了我的功能片段,因为错误发生在3个地方),显示追溯等等。当然,在所有这些来源之后,我已经对代码进行了很多不同的编辑,但是nada。

有人能指出我正确的方向吗?

    "must_not": [
      {
        "term": {
          "personid.raw": "ABADF00D-BEEF-4218-B59B-A164017A3BA0"
        }
      },

1 个答案:

答案 0 :(得分:0)

该错误可能与mt1022关于字符列类参数的内容有关。相反,您应该使用stringsAsFactors = FALSE

outcome <- read.csv("outcome-of-care-measures.csv", stringsAsFactors = FALSE)

您可能还想考虑在函数调用之外加载数据并删除条件语句,除非您计划使用不同的部分来处理具有相同函数的其他类型的结果:

best_heart_attack <- function(state_input, outcome) {
    return_outcome <- outcome %>% 
        select(State, Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack) %>% 
        filter(State == state_input) %>% 
        arrange(Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack) %>%
        top_n(1, -Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack)

    return(return_outcome)
}

best_heart_attack(state_input = "TX", outcome = outcome)