首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在csv中写入结果配对t.test

在csv中写入结果配对t.test
EN

Stack Overflow用户
提问于 2017-11-24 13:30:42
回答 1查看 1.3K关注 0票数 1

我正在对多个组的数据执行配对t检验,并希望将其“导出”到.csv文件中。

以下是数据:

代码语言:javascript
复制
 table <- read.table(text=' group    M1      M2
 Group 1 0.5592884 0.5592884
 Group 1 0.3481799 0.3481799
 Group 1 0.2113786 0.2113786
 Group 1 0.2817871 0.2817871
 Group 2 0.2543952 0.2543952
 Group 2 0.2016288 0.2016288
 Group 2 0.2098503 0.2098503
 Group 2 0.1060097 0.1060097
 Group 3 0.2405704 0.2405704
 Group 3 0.3200119 0.3200119
 Group 3 0.2453895 0.2453895
 Group 3 1.3107510 1.3107510
 Group 4 0.8600338 0.8600338
 Group 4 0.5381423 0.5381423
 Group 4 0.7348685 0.7348685
 Group 4 0.2969512 0.2969512', header=TRUE)

由于我不想将M1与M2进行比较,而是将这些组相互比较,所以我执行成对的t.test如下:

代码语言:javascript
复制
sig<-lapply(table[2:3], function(x) 
  pairwise.t.test(x, table$group,
                  p.adjust.method = "BH"))

但是,由于结果是一个列表,所以我无法在.csv文件中写入以下内容:

代码语言:javascript
复制
sink('test.csv')
cat('paired t results')
write.csv(sig)
sink()

我试图通过使用capture.output来解决这个问题,但是这就失去了分离。

代码语言:javascript
复制
sig_output<-capture.output(print(sig))

有没有一种直接将sig写入csv文件或工作源的方法?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-24 13:44:12

只需在print之后使用sink

代码语言:javascript
复制
print(sig)

但是请注意,结果不是CSV文件,与您的代码相反。如果只想保存p值表,可以执行以下操作:

代码语言:javascript
复制
save_p_values = function (test_data, filename) {
    write.csv(test_data$p.value, filename)
}

Map(save_p_values, sig, paste0(names(sig), '.csv'))

要在同一个文件中获取两个表,您需要添加一个列来区分它们;使用:

代码语言:javascript
复制
sig_combined = sig %>%
    # Extract p-value tables
    map(`[[`, 'p.value') %>%
    # Convert matrix to data.frame so we can work with dplyr
    map(as.data.frame) %>%
    # Preserve rownames by saving them into column:
    map(tibble::rownames_to_column, 'Contrast') %>%
    # Add name of column that t-test was performed on
    map2(names(.), ~ mutate(.x, Col = .y)) %>%
    # Merge into one table
    bind_rows()

write.csv(sig_combined, 'results.csv')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47474353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档