Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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_Dataframe_Rbind - Fatal编程技术网

R 提及函数中所有对象的简单方法,无需显式写入所有对象

R 提及函数中所有对象的简单方法,无需显式写入所有对象,r,dataframe,rbind,R,Dataframe,Rbind,假设我以v1、v2、v3、v4、v5、…、v99、v100的名称创建了100个数据帧。 所有这些数据帧都具有相同的大小,我的意思是它们都具有相同的列集。 现在我想使用write.csv中的rbind导出附加在单个csv文件中的所有这些数据帧。 所以我在使用这个函数 write.csv(rbind(v1, v2, v3,v4,v5), "myfilename.csv") 上面的命令执行此任务,但正如您所看到的,只追加了5个数据帧。我想按顺序追加所有数据帧,即从v1到v100,但单独写入它们的名称

假设我以v1、v2、v3、v4、v5、…、v99、v100的名称创建了100个数据帧。 所有这些数据帧都具有相同的大小,我的意思是它们都具有相同的列集。 现在我想使用write.csv中的rbind导出附加在单个csv文件中的所有这些数据帧。 所以我在使用这个函数

write.csv(rbind(v1, v2, v3,v4,v5), "myfilename.csv")

上面的命令执行此任务,但正如您所看到的,只追加了5个数据帧。我想按顺序追加所有数据帧,即从v1到v100,但单独写入它们的名称可能是一项痛苦的任务。有没有一种简单的方法来提及所有的对象名,而不必写下它们的所有名称。提前感谢。

如果您必须有单独的对象,请获取名称并按编号排序。然后将它们复制到列表L中,然后再将它们绑定在一起

nms <- ls(pattern = "^v\\d+$")
nms <- nms[order(as.numeric(sub("v", "", nms)))]
L <- mget(nms)
DF <- do.call("rbind", L)

然而,正如@MrFlick所提到的,最好首先在列表L中创建它们,在这种情况下,只需要最后一条语句。

那么,首先将它们创建为一组不同的变量并不是一个好主意。最好做列表中的事情。你最初是如何创造它们的?有很多方法可以做你想做的事情,但最好是在一开始就解决问题,然后再收拾残局。这些数据帧包含数据集中所有连续变量的十进制组合信息。我想把所有这些十分位信息放在一个工作表中,这样我就可以查看它,并进行回归建模任务所需的分析。这就是为什么我必须使用rbind函数,并提到所有这些从v1到v100的对象名。希望你明白我想说的话。