R将多个MannKendall结果写入数据帧或csv

时间:2018-01-23 14:19:44

标签: r

我是一个R初学者,我正在努力寻找一种可能非常直接的解决方案。帮助赞赏。

我使用R中的MannKendall软件包评估了> 1,000个地下水井中的硫酸盐趋势,并且我已将结果存储为单独的列表。我想将所有结果合并到一个数据框中,因此我可以将浓度不断增加的井定位并将结果导出为CSV,并与不知道如何使用R的人分享。

#Example:
library(Kendall)
w1<-c(4.3,5.7,2.4,9.8,6.7,3.9,8.3,9.6,4.7)
w2<-c(3.2,5.8,9.9,14.6,17.8,13.5,20.4,78.9,50.3)
w1mk<-MannKendall(w1)
w2mk<-MannKendall(w2)

#Next step: combine and store w1mk and w2mk results as data frame for analysis/export

2 个答案:

答案 0 :(得分:0)

不确定您希望数据框看起来如何,但无论如何都要检查

library(dplyr)
bind_rows(unlist(w1mk),unlist(w2mk))

{{1}}

答案 1 :(得分:0)

@CBernhardt我会将其分解为可管理的小步骤,以查看您的数据发生了什么......

从您的示例数据开始......

library(Kendall)
w1<-c(4.3,5.7,2.4,9.8,6.7,3.9,8.3,9.6,4.7)
w2<-c(3.2,5.8,9.9,14.6,17.8,13.5,20.4,78.9,50.3)

我要做的第一件事就是将所有这些单独的列表放入一个大型数据框中,每列一个站点(井)

groundwater <- data.frame(w1=w1,w2=w2)
groundwater

然后使用简单的lapply命令在每个列(井/站点)上运行测试

allofthem <- lapply(groundwater, function(y) unlist(MannKendall(y)))

allofthem现在是每个网站的Mann Kendall结果列表......

allofthem

#$w1
#       tau         sl          S          D       varS 
# 0.2222222  0.4655123  8.0000000 36.0000000 92.0000000 

当您确定在数据框中完成所有工作时

MKResults <- as.data.frame(allofthem)
MKResults