【发布时间】:2019-04-13 23:30:20
【问题描述】:
我是 R 的初学者。我实际上是在尝试编写我的第一个函数。
我正在计算机上的目录中查找 csv 文件,然后将它们放入数据框中,然后询问某个变量的平均值。
我有 2 个变量:硫酸盐和硝酸盐。
我的函数适用于硝酸盐,但不适用于硫酸盐。我真的不知道出了什么问题。 R studio 给了我一个线索:在 mean.default(directory$suftate, na.rm = TRUE) 中:
参数不是数字或逻辑:返回 NA
但我不知道如何处理这些信息。
我的功能是:
pollutantmean <- function (directory, polluant = "nitrate", id = 1:332)
directory <- data.frame()
for (i in id)
{directory <- rbind(directory, read.csv(full_files[i]))}
if (polluant == "nitrate"){
mean(directory$nitrate,na.rm = TRUE)}
else if (polluant == "sulfate"){
mean(directory$suftate,na.rm = TRUE)}
else {print("KO")}
}
你能帮帮我吗?
卡罗琳
【问题讨论】:
-
您有search 寻求答案吗?这个 Coursera 主题已经有 136 个关于 SO 的文章
-
你好,卡罗琳。这是一项家庭作业,根据 Coursera 荣誉守则,您不得在互联网上发布家庭作业的完整答案。
-
嗨@LenGreski,这不完全是答案......它不起作用!老师鼓励你寻求帮助;)
-
Coursera Honor Code 明确指出,“除非得到教师的明确许可,否则您不得与其他任何人分享您的家庭作业、测验或考试的解决方案。”在 JHU 课程中,某些作业(例如那些学生必须发布到 GitHub 或 RPubs)具有明确的共享权限。当学生有问题时,他/她可以发布一些代码,但不能发布完整的答案,无论代码是否有效。我认识到 Coursera 政策与 SO 对好问题的定义相冲突。
标签: r function if-statement numeric