names(specdata)
# [1] "Date" "sulfate" "nitrate" "ID"
head(specdata)
Date sulfate nitrate ID
1 2003-01-01 NA NA 1
2 2003-01-02 NA NA 1
3 2003-01-03 NA NA 1
4 2003-01-04 NA NA 1
5 2003-01-05 NA NA 1
6 2003-01-06 NA NA 1
# function to find the mean of a subset
pollutantmean <- function(directory,pollutant,id =1:332){
x<- directory[directory$id== id,]
mean(x, na.rm = TRUE)
}
pollutantmean("specdata", "sulfate",1:10)
**Error in directory$id : $ operator is invalid for atomic vectors**
class(specdata)
# [1] "data.frame"
is.recursive(specdata)
# [1] TRUE
即使它是一个递归数据集,也会抛出这个错误:
目录$id错误:$ operator对原子向量无效。
如果你能帮忙就太好了。由于
你通过传递一个字符串(又名字符向量)而不是给它一个数据帧来调用你的函数。通过移除specdata
周围的""
来修复此问题。