【发布时间】:2021-12-20 23:01:35
【问题描述】:
这是对此处提出的问题的后续问题... Quadrant plot based on ccf value outputs in R
原来的问题和这个问题使用相同的数据...
df <- structure(list(Date = structure(c(16222, 16617, 14518, 15156,
15918, 17075, 15522, 16679, 16010, 15187, 15461, 16283, 17379,
15553, 17410, 15553, 16191, 16314, 14549, 15979), class = "Date"),
Commonname = c("Black Sea Bass", "Pinfish", "Pigfish", "Pinfish",
"Silver Perch", "Black Sea Bass", "Pigfish", "Pinfish", "Pigfish",
"Silver Perch", "Silver Perch", "Black Sea Bass", "Pinfish",
"Pinfish", "Silver Perch", "Pigfish", "Black Sea Bass", "Silver Perch",
"Silver Perch", "Black Sea Bass"), CPUE = c(1.25513090974505,
9.41478783154444, 1.63667465565289, 3.13779141143018, 4.26313144106683,
2.32564938844104, 2.70394855189782, 8.49969670589948, 1.7329255861366,
2.0845409179642, 0.269832703723692, 1.21288437532366, 11.8739506505966,
8.55504246458105, 2.21256794002004, 4.51336797979511, 1.47695928524315,
1.10425042966867, 0.632732705722451, 1.59167844861806), Discharge = c(14.8521616,
5.23042759111111, 1.42663083211115, 0.184551018105263, 48.9156538971429,
2.29765846588235, 33.25524992, 4.06629248, 1.610659584, 0.21166808,
0.0607489749333333, 2.22029454545455, 12.90821328, 31.9696672,
8.05754544, 32.7267690105263, 43.493472128, 6.77337856, 1.10646621744,
4.37803470545454)), row.names = c(NA, -20L), class = c("tbl_df",
"tbl", "data.frame"))
现在使用以下代码并仅过滤正滞后...
library(tidyverse)
fccf = function(data) ccf(data$CPUE,data$Discharge, lag.max = 5, plot = FALSE)
facf = function(acf) tibble(aacf = acf$acf[,,1], lag = acf$lag[,,1])
test.df <- df %>% group_by(Commonname) %>%
nest() %>% #Step 1
mutate(ccf = map(data, ~fccf(.x))) %>% #Step 2
mutate(acf = map(ccf, ~facf(.x))) %>% #Step 3
unnest(acf)
#removes the nested columns
test.df <- test.df[,c("Commonname", "aacf", "lag")]
#removes negative lags
test.df <- subset(test.df, lag > 0)
test.df
我从每个人的 ccf 显示的内容中得到不同的结果。
例如,Black Sea Bass 的绘图与这些自定义函数提取的值完全不同......
df <- df %>%
filter(Commonname == "Black Sea Bass")
ccf(df$Discharge, df$CPUE, lag.max = 5)
ccf 图在第二个正滞后步长处显示的值几乎为 1.0,但自定义函数拉取的值约为 0.01
如果有人可以帮助我找出导致差异的原因,或者如何让这些自定义函数拉动图中看到的相关性,我将不胜感激。谢谢。
【问题讨论】:
标签: r lag cross-correlation