【问题标题】:Separate mean and median values for columns 4 in a list of data frames?数据框列表中第 4 列的单独平均值和中值?
【发布时间】:2016-01-26 15:52:12
【问题描述】:

我有 30 个 csv 文件,分别命名为 101.csv、102.csv 等,每列有四列,但行数不同。我的目的是计算每个 csv 文件中第四列的平均值和中值。

我首先制作了一个 ListofDataFrames:

listOfDataframes <- lapply(paste0(101:130, ".csv"), read.csv)

看起来像这样:

[[1]]              
1               contig02534_1_120507-bin0\t477\t585\t50      
2               contig02534_1_120507-bin0\t585\t2695\t0               
3               contig06975_1_120507-bin0\t0\t732\t100
...

[[2]]
...

我希望得到一个新的数据表,总结 1) 第四列的平均值和 2) 第四列的中值。这需要分别针对每个数据帧,例如:

          mean     median
[[1]]     75       50
[[2]]     65       100

我尝试了此处发布的不同方法,但无法让它们按我的意愿工作。任何帮助将不胜感激!

【问题讨论】:

标签: r csv


【解决方案1】:

我通常的做法是这样的

library(dplyr)
lapply(101:130), 
                  function(x){
                    D <- read.csv(paste0(x, ".csv", sep = "\t")
                    D$set <- x
                 ) %>%
  do.call("rbind", .) %>%
  setNames(c("col1", "col2", "col3", "col4", "set")) %>%
  group_by(set) %>%
  summarise(mean = mean(col4),
            median = median(col4))

您的示例无法重现,因此未经测试。

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 2020-11-05
    • 2013-12-15
    • 1970-01-01
    • 2018-01-03
    • 2021-12-12
    • 2019-01-20
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多