【发布时间】:2018-12-05 10:24:55
【问题描述】:
您好,我有一个名为“结果”的数据框,其中有一列名为“肺炎”,还有一些其他列,如“州”和“医院名称”
当我在命令行中运行时
outcome <- read.csv("Assigment3/outcome-of-care-measures.csv", colClasses = "character")
temp <- subset(outcome, State =="NY", select=c(Hospital.Name, Pneumonia)
它起作用了,它创建了带有两列 Hospital.Name 和 Pneumonia 的临时数据框。
但是当我创建一个包含相同指令的函数时
state 是 state 列内的值,outcome1 只是列名
best <- function(state, outcome1) {
outcome <- read.csv("Assigment3/outcome-of-care-measures.csv", colClasses = "character")
temp <- subset(outcome, State ==state, select=c(Hospital.Name, outcome1))
}
然后我调用函数:
best("NY","Pneumonia")
我得到错误:
[.data.frame`(x, r, vars, drop = drop) 中的错误: 选择了未定义的列
我知道问题出在outcome1 变量上,因为如果我在上述函数中对outcome1 进行硬编码,而不是将其作为参数传入,函数会按预期工作。
【问题讨论】:
标签: r