【问题标题】:How to get a tidy excel output of P values from R如何从 R 中获得 P 值的整洁 excel 输出
【发布时间】:2019-07-03 10:56:53
【问题描述】:

如何使用从 R 导出的 P 值的干净 excel 数据集

res <- rcorr(as.matrix(df), type = c("pearson"))

我已经使用上面的代码来查找数据中所有变量的 P 值。但是,我有兴趣将这些发现导出到 Excel 表中。我使用以下代码完成了此操作:

write.table(P_val, file="df.csv", sep = ",")

此输出是一个 excel 表,但是数据并不“整齐”,因为所有数据都在行中,被限制在相同的单元格中,并且由于没有意义而无法读取数据在此设置中,数据如何与每个变量相关联。

我想要的是指示所有变量中每个变量的 P 值的表格。

所以到目前为止我所做的是(这里我使用来自 R 的简单数据集来说明我的意思):

 df <- USArrests

 res <- rcorr(as.matrix(df), type = c("pearson"))

 P_val <- res$P

 write.table(P_val, file="P_val.csv", sep = ",")

我真的不知道如何从这里继续前进,所以我希望有人可以帮助我:-)

【问题讨论】:

  • 看起来你只需要将 P_val 重塑为所需的格式,然后再将其保存为 .csv
  • 请注意,输出是 CSV 文件而不是“excel 工作表”。

标签: r excel export tidy r-corrplot


【解决方案1】:

我会用broom::tidyreadr::write_csv 写出来。

library(Hmisc) # for rcorr
library(broom)
library(magrittr) # for pipes %>%
library(readr)

as.matrix(USArrests) %>% 
  rcorr(type = "pearson") %>%
  tidy() %>%
  write_csv("P_val.csv")

结果(write_csv 之前):

# A tibble: 6 x 5
  column1  column2  estimate     n  p.value
  <chr>    <chr>       <dbl> <int>    <dbl>
1 Murder   Assault    0.802     50 2.60e-12
2 Murder   UrbanPop   0.0696    50 6.31e- 1
3 Assault  UrbanPop   0.259     50 6.95e- 2
4 Murder   Rape       0.564     50 2.03e- 5
5 Assault  Rape       0.665     50 1.36e- 7
6 UrbanPop Rape       0.411     50 3.00e- 3

【讨论】:

  • 非常感谢!但是,当我尝试此操作时,所有数据仍被限制在一个单元格中。排。是否可以将数据分散到不同的单元格中?
  • 这是您如何将数据导入 Excel 的问题。与此代码或其输出无关。我假设您需要指定逗号是分隔符(但我很少使用 Excel,我不记得如何使用)。
  • 好的,我想我现在已经想通了。谢谢!
  • 没问题。如果对您有用,请接受答案。
猜你喜欢
  • 2020-09-14
  • 2018-03-08
  • 2017-11-11
  • 2022-07-06
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
相关资源
最近更新 更多