问题
我有50个带有这种结构的.csv文件:
value1,value2,...
一个长行,每个值用逗号分隔 .
具体来说,它们是浮点数,每个csv具有不同数量的值 .
0.0023593,0.0062565,0.00723753,0.0023353,0.0052353,0.0024353,...
我必须在同一图表中绘制每个数据文件,以查找此值的趋势,并可能使用平均图 .
How can I do this in a simple manner? Matlab is preferred but R is ok
更新
我知道我可以像[在Matlab中]那样做:
>> arr1 = csvread('file1.csv');
>> plot(arr1)
和
>> arr2 = csvread('file2.csv');
>> plot(arr2)
......但我正在寻找一种程序方式 .
Update2
谢谢你的答案,我做了一个简单的黑客攻击,我最终得到了正确的解决方案,但它是一个黑客 . 我刚刚使用python来复制命令,然后我运行了所有命令......
@Crowley你的解决方案可能是正确的但不幸的是有一些语法问题 .
@njc感谢您的努力!但这不是我需要的,也许我的结果可以帮助你开发R代码,那么我一定会把你的答案提升为正确的答案 .
结果如下:
用这个制作"stupid" script
2 回答
我担心我不知道任何MATLAB,但在R中执行此操作的一种方法是使用ggplot2包 . 它的工作原理是在绘图中添加不同的图层,这使它成为使用不同数据框的便捷方式 .
首先,我生成了一些要使用的示例数据 .
这些只是不同长度的随机变量的数据帧 . 因为你的所有数据都是一维的,所以我制作了一个盒子图 .
然后我分别使用每个数据框创建一个ggplot .
每次我使用geom_boxplot()我都会在图中添加另一个图层 . 您也可以在一行中执行此操作 .
现在我再次阅读你的帖子,我发现你可能意味着你想把它们指向散点图,文件中的数字位置为x值 . 使用ggplot很容易,但在我的例子中你不会看到任何趋势,因为我的值都是随机的 .
要么
我希望这有帮助!如果您对ggplot有任何疑问,请告诉我 . 虽然我当然不是专家,但我会尽我所能 .
注意:在创建绘图之前,我已将a,b和c的列名更改为“y”,但我在制作数据时忘记更新其名称 .
这个和你想要平滑曲线而不是点之间的唯一区别是什么?如果是这样,这是一个简单的解决方案 .
首先,我改变了数据,以便它有一个趋势 .
然后我简单地用
geom_smooth
替换geom_point
.se=FALSE
阻止它在背景中将标准错误显示为灰色条带 . 如果标准错误对您有帮助,您可以省略它 .假设我们在
YourFolder='whatever\address\'
文件夹中有数据,那么如果我们想要double
数组:如果我们希望
cell
数组与代码一起工作更简单,因为向量不需要匹配 .