【发布时间】:2019-06-05 20:13:28
【问题描述】:
我正在使用 split() 和 lapply 函数批量运行 Mann Kendall 趋势测试。在下面的代码中,split() 按分析物(水质参数)分隔结果 (ConcLow)。然后 lapply 为每个运行 MannKendall 和 summary。输出到控制台(代码如下所示的示例),但我希望它进入 Excel 或 cvs 文档,以便我可以使用它。理想情况下,Excel 文档将在第一列中包含分析物(例如 TOC),然后结束列 = tau 值,第三列 = pvalue。然后下一个选项卡或以下列将显示来自summary 函数的结果。非常感谢您提供的任何帮助!我对 R 很陌生。
mk.analyte <- split(BarkTop$ConcLow, BarkTop$Analyte)
lapply(mk.analyte, MannKendall)
lapply(mk.analyte, summary)
每个分析物的输出如下所示(此处缩写,但列表很长):
$TOC
tau = 0.0108, 2-sided pvalue =0.8081
$TOC
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.378 2.054 2.255 2.434 2.600 4.530
数据如下所示:
Date Location Analyte ConcLow Units
5/8/2000 Barker Res. Hardness 3.34 mg/L (as CaCO3)
11/24/2000 Barker Res. Hardness 9.47 mg/L (as CaCO3)
6/12/2001 Barker Res. Hardness 1.4 mg/L (as CaCO3)
12/29/2001 Barker Res. Hardness 21.9 mg/L (as CaCO3)
7/17/2002 Barker Res. Fe (diss 81 ug/L
2/2/2003 Barker Res. Fe (diss 90 ug/L
8/21/2003 Barker Res. Fe (diss 0.08 ug/L
3/8/2004 Barker Res. Fe (diss 15.748 ug/L
9/24/2004 Barker Res. TSS 6.2 mg/L
4/12/2005 Barker Res. TSS 8 mg/L
10/29/2005 Barker Res. TSS 10 mg/L
【问题讨论】:
-
您更喜欢以
summary()输出格式导出数据,还是将数据放在一个表中,每个值对应一个列,每个列表元素对应一个行? -
@Mako212 - 感谢您的回复!最好有一张桌子
-
能给个样本数据集吗?
-
@DJV - 我尝试将我的数据的一个小表复制到其中,但它无法正常工作。只显示一串数字和文本。如何在我的问题中输入数据表?
-
你可以使用
dput(data.frame/list here)