Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将多个文件中的单个变量追加到数据帧或其他对象类型_R - Fatal编程技术网

R 将多个文件中的单个变量追加到数据帧或其他对象类型

R 将多个文件中的单个变量追加到数据帧或其他对象类型,r,R,我正在学习R。我有300个不同的文件包含降雨数据。我想创建一个取值范围(即20-40)的函数。然后我将读取名为“020.csv”、“021.csv”、“022.csv”等csv文件,直到“040.csv” 每个文件都有一个名为“Rainsion”的变量。我想打开每个csv文件,提取“降雨”值,并将它们存储(附加)到某种对象上,比如数据帧(也许还有更好的方法?)。所以,当我完成后,我将有一个数据框或列表,其中有一列包含所有处理文件中的降雨数据 这就是我所拥有的 rainfallValues这里有一

我正在学习R。我有300个不同的文件包含降雨数据。我想创建一个取值范围(即20-40)的函数。然后我将读取名为“020.csv”、“021.csv”、“022.csv”等csv文件,直到“040.csv”

每个文件都有一个名为“Rainsion”的变量。我想打开每个csv文件,提取“降雨”值,并将它们存储(附加)到某种对象上,比如数据帧(也许还有更好的方法?)。所以,当我完成后,我将有一个数据框或列表,其中有一列包含所有处理文件中的降雨数据

这就是我所拥有的


rainfallValues这里有一个使用
lappy
的方法,它将返回一个降雨列表

rainList <- lapply(id, function(i) {
       temp <- read.csv(sprintf("%03d.csv",i))
       temp$rainfall
})

rainList您可能会觉得很有帮助。您可以在一个“列表”中获取所有nessecary数据,然后使用
do.call(rbind,list)
这是如何工作的,而不是迭代地放大“data.frame”并重新分配内存?每次调用该方法时,结果都会附加到rainList向量?我似乎无法做到这一点。我得到的唯一结果是上次读取文件的结果,而不是所有文件。rainList行应该生成一个与id中的文件数长度相同的列表。列表的每个元素都是一个向量,包含id中每个文件的Rain列。rainVec行将该列表强制为一个向量。哦,我现在明白了。这不是我想要的。比如说,我不想要10个不同的列表,以及10个列表中10个文件的读数。我想要一个列表,其中包含所有10个文件的读数。你说的“列表”是指向量吗?R列表是R中最通用的数据结构类型,可以容纳很多内容。在包含向量的列表中调用
unlist
,将生成一个向量,这听起来像是您正在寻找的向量。或者你想在末尾找一个data.frame,其中每个降雨向量都是一列?谢谢,我现在找到了。我仍在为R使用的“独特”术语而挣扎。我已经做了25年以上的软件开发人员,R使用的术语对我来说似乎大多是倒退的。
rainList <- lapply(id, function(i) {
       temp <- read.csv(sprintf("%03d.csv",i))
       temp$rainfall
})
rainVec <- unlist(rainList)