マイデータフレームは異なる変数を持つ時系列で、1966年から始まるdplyrは
Date prcpmm TmaxC TminC
1/1/1966 0 7.8 0
1/2/1966 0.8 8.3 -1.1
1/3/1966 0 2.8 -5
1/4/1966 0 4.4 -5.6
1/5/1966 0 5.6 -8.9
1/6/1966 0 2.2 -1.7
1/7/1966 0.5 0.6 -12.8
1/8/1966 0 -6.1 -15
1/9/1966 0 3.9 -8.3
1/10/1966 0 5 -8.9
1/11/1966 0 -5 -12.2
1/12/1966 1 -3.3 -11.1
1/13/1966 1.3 2.2 -6.1
ように見えるまとめることができませんブローコード:
Adrian <- read.csv("~/Adrian.csv")
Adrian <- cbind(Adrian, weatherGen = rep("ObservedAdrian", nrow(Adrian)))
dateObj <- as.POSIXct(Adrian$Date, format = "%m/%d/%Y")
Adrian$Date <- dateObj
Adrian$day <- day(dateObj)
Adrian$month <- month(dateObj)
Adrian$year <- year(dateObj)
Adrian$prcpmm[Adrian$prcpmm==-99.00]<- NA
Adrian$TmaxC[Adrian$TmaxC==-99.00]<- NA
Adrian$TminC[Adrian$TminC==-99.00]<- NA
for (i in 1:length(Adrian$month)) {
if (Adrian$month[i] %in% 3:5) {
Adrian$season[i] = "spring"
Adrian$yearNew[i] = Adrian$year[i]
} else if (Adrian$month[i] %in% 6:8) {
Adrian$season[i] = "summer"
Adrian$yearNew[i] = Adrian$year[i]
} else if (Adrian$month[i] %in% 9:11) {
Adrian$season[i] = "fall"
Adrian$yearNew[i] = Adrian$year[i]
} else{
Adrian$season[i] = "winter"
Adrian$yearNew[i] = Adrian$year[i] + 1
}
}
Adrian$season <- ordered(Adrian$season, levels = c("winter", "spring",
"summer", "fall"))
この部分は間違いなく非常にうまく実行されました。
コード行に上からObserved_everyseason_pVal <- Adrian %>% group_by(yearNew, season) %>%
summarise(pvalMK = mk.test(ts(prcpmm))$pvalue[1], SMK =
mk.test(ts(prcpmm))$Sg[1])
Observed_everyseason_pVal1 <- Adrian %>% group_by(season) %>%
summarise(pvalMK = mk.test(ts(prcpmm))$pvalue[1], SMK =
mk.test(ts(prcpmm))$Sg[1])
:
Observed_everyseason_pVal <- Adrian %>% group_by(yearNew, season)
それはエラーなしでうまく働いたが、私は
Observed_everyseason_pVal <- Adrian %>% group_by(yearNew, season) %>%
summarise(pvalMK = mk.test(ts(prcpmm))$pvalue[1], SMK =
mk.test(ts(prcpmm))$Sg[1])
を実行すると、エラー生成します。場合
Error in summarise_impl(.data, dots) : Column
pvalMK
is of unsupported type NULL
あなたが適用している関数の出力は、NAではないということです。これは 'mk.test'があなたの作業環境で利用できないこと(ライブラリがロードする必要があるかもしれません)、またはデータが関数のための正しいフォーマットでないことを意味するかもしれないので、Nullの戻り値を投げています。あなたのgroup_byを実行し、それを変数に保存し、 'str(myGroupby) 'で出力を見て、それがどのように見えるかを見てください。データが要約の関数に適切であれば、 'mk.test(ts(prcpmm))$ pvalue [1]'を使って従来の操作を行い、何が起こるかを見てください。 – sconfluentus