【发布时间】:2014-05-19 17:39:11
【问题描述】:
在 Python 学习了一段时间后,我无法弄清楚 R 中的 for 循环。我想做的是从这段代码返回的 CSV 文件的向量中提取 $nitrate 或 $Sulfate:
getpollutant <- function(id=1:332, directory, pollutant) {
data<-c()
for (i in id) {
data[i]<- c(paste(directory, "/",formatC(i, width=3, flag=0),".csv",sep=""))
}
df<-c()
for (d in 1:length(data)){ df[[d]]<-c(read.csv(data[d]))
}
df
}
我还没有包含污染物的 for 循环,我尝试了许多不同的方法,但无法让它完全正常工作......我可以输入上面的代码:getpollutant(1:10, “specdata”),它将为我提供 specdata 目录中标签为 001 到 010 的所有 csv 文件,它将每个 csv 文件以分隔的块形式吐出,标题格式为 [[i]]$columnname 和列的内容下面列出。我想要做的是提取一个特定的列名(污染物)并从每个 csv 文件中返回该列的内容。我已经阅读了帮助页面,但似乎无法正确设置格式...
@RomanLuštrik 我不知道这是否是您要查找的内容,但如果我输入,这是一个示例输出
getpollutant(1, "specdata"):
[[1]]
[[1]]$Date
[1] 2003-01-01 2003-01-02 2003-01-03
[[1]]$sulfate
[1] NA NA NA NA NA NA 7.210 NA NA NA 1.300
[[1]]$nitrate
[1] NA NA NA .474 NA NA NA .964 NA NA NA
显然这是输出的一个非常小的版本,但基本上它获取指定范围 id 中的 CSV 文件并像这样打印出来......
【问题讨论】:
-
这是针对 Coursera 课程“R 编程”的吗?
-
你能举一个小的、可重现的例子吗?
-
@Jaap 是的,我意识到我上周落后了。在我继续之前只是想了解......
-
欢迎来到 StackOverflow。请阅读有关如何ask a question 以及如何生成minimal reproducible example 的信息。您可能还想阅读open letter to students with homework problems
-
您还可以在此站点上搜索“[r] 污染物”以查看人们针对此家庭作业提出/回答的所有其他问题。