gpt4 book ai didi

R - 处理数据帧列表的惯用方式

转载 作者:行者123 更新时间:2023-12-01 09:39:29 24 4
gpt4 key购买 nike

我有 30 次运行数据,每次都存储在单独的 CSV 文件中,runi.csv,i = 0:29。

假设我想将它们全部收集到一个列表中。我知道如何做到这一点的最佳方法是

runs = list()
for (i in 1:30) { runs[[i]] = read.csv(paste("run", i-1, ".csv")); }

现在让我们进一步说,存储在列表中的这些数据帧中的每一个都具有相同的列布局,并且我对“x”标识的列和“y”标识的列感兴趣。

绘制所有 30 次运行的 (x, y) 对的最简单方法是什么?以下是我目前的做法(我觉得必须是更好的方法):

xList = list()
yList = list()
for (i in 1:30) { xList[[i]] = runs[[i]]$x; yList[[i]] = runs[[i]]$y; }
matplot(x=as.data.frame(xList), y=as.data.frame(yList))

当我尝试对数据进行转换时,这会变得更加痛苦;我不知道如何将函数应用于存储在列表中的每个数据帧的特定列。

这里的任何帮助都会非常有帮助。

最佳答案

用所有数据创建一个数据框可能会好得多。比如导入时加上运行号(runs[[i]] = data.frame(read.csv(paste("run", i-1, ".csv")), Run=i)),然后做alldata <- do.call(rbind, runs) .

现在您可以使用 latticeggplot2制作地 block 。例如,通过 run 获取所有使用不同颜色的运行的散点图:

library(ggplot2)
qplot(x, y, colour=Run, data=alldata, geom="point")

关于R - 处理数据帧列表的惯用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com