【发布时间】:2019-12-29 02:50:07
【问题描述】:
我正在处理气象站降水数据。每个站都有60年的降水数据,共有30个站。我想对每个站点进行 Mann Kendall 趋势测试,看看是否有明显的降水趋势。
我尝试使用group_by 和summarise 计算 60 年来每个站点的 Mann Kendall。
这是一个小例子,其中 ID 是车站,prcp 是降水。
ID<-c(1,1,1,1,1,2,2,2,2,2)
prcp<-c(2,0,1,4,5,0,2,3,5,6)
df<-cbind(ID,prcp)
mk<-df %>%
as.data.frame() %>%
group_by(ID) %>%
summarise(prcpmk=MannKendall(prcp))
每次我这样做时都会收到以下错误:Column prcpmk must be length 1 (a summary value), not 5
部分问题是 MannKendall 函数返回 5 个值。尝试使用 group_by 时如何仅指定 p 值?
我想要的是一个只有 p 值的 df:
ID prcpmk
[1,] 1 0.20
[2,] 2 0.03
【问题讨论】:
-
也许是
MannKendall(prcp)$p.value。你从哪个库获得MannKendall -
是的!谢谢,这行得通。答案如下。