【问题标题】:plotting only selected class from multiple CSV files in R (ggplot)仅从 R 中的多个 CSV 文件中绘制选定的类(ggplot)
【发布时间】:2015-10-06 11:22:28
【问题描述】:

假设我已经导入了 2 个(或更多)具有相似列的 CSV 文件。假设我在每个 CSV 文件中有“A”、“B”和“类”列,但值不同。假设我在一个 CSV 文件中的数据集是:

A B class
1 2  A
2 3  B
4 1  A
3 7  C
4 5  A
.....

假设第二个 CSV 数据集是:

A   B  class
10  20  A
20  10  C
40  10  B
30  17  A
14  15  A
.....

对于其他 CSV 以此类推..

最初,我使用“A”和“B”为单个 CSV 文件制作了 ggplots。现在我想一次只使用一个类在一个图中绘制所有 CSV 文件,即假设我想在一个图中只为所有 CSV 绘制 A 类。

我确实在一个图中绘制了所有文件,但现在我想在类中绘制它......

谁能告诉我该怎么做?

【问题讨论】:

  • 只是子集?困难的部分是将所有文件绘制在一个图中——你说你已经这样做了。如果您显示一些代码来执行此操作,那么它应该是一个简单的修改,只绘制 A 类。
  • @Gregor 我已将所有 CSV 文件放在一个文件夹中,然后调用所有文件。
  • 太好了。你能展示你的一些代码吗?
  • @Gregor 我已经更新了。你可以看看..

标签: r csv plot ggplot2


【解决方案1】:

只需将所有 CSV 加入一个数据框和 subset 并绘图?

例如

csv1 <- read.csv(...)
csv2 <- read.csv(...)

bigcsv <- rbind(csv1, csv2)
library(ggplot2)

ggplot(subset(bigscv, class == 'A'), aes(...)) + ...

关键是subset(bigcsv, class=='A')

您还可以使用rbind.fillrbind 一个大数据帧列表。

【讨论】:

  • csvs &lt;- lapply(filenames, read.csv) 将使csvs[[i]] 成为第 i 个 csv。然后如前所述,bigcsv &lt;- rbind.fill(csvs) 并继续。
猜你喜欢
  • 2020-09-08
  • 2017-07-20
  • 2021-04-11
  • 1970-01-01
  • 2015-03-03
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多