【发布时间】:2019-04-19 20:46:06
【问题描述】:
作为预测包中的 checkresiduals() 函数和 rbind() 函数的结果,我得到了这个矩阵 (ETS_RESIDUALS):
#Result of checkresiduals() function
[,1]
[1,] "Q* = 161.83, df = 18.8, p-value < 2.2e-16"
[2,] "Q* = 125.46, df = 18.8, p-value < 2.2e-16"
[3,] "Q* = 263.65, df = 18.8, p-value < 2.2e-16"
[4,] "Q* = 81.503, df = 18.8, p-value = 8.763e-10"
[5,] "Q* = 36.616, df = 18.8, p-value = 0.008178"
str(ETS_RESIDUALS)
#chr [1:5, 1] "Q* = 161.83, df = 18.8, p-value < 2.2e-16" "Q* = 125.46, df = 18.8, p-value < 2.2e-16" "Q* = 263.65, df = 18.8, p-value < 2.2e-16" ...
class(ETS_RESIDUALS)
#[1] "matrix"
现在,我打算用 grep() 或其他函数将这行文本拆分为一个 data.frame(包含四列 TEST、Q*、df、p 值),如下例所示:
TEST Q* df p-value
--------------------------------------------
TEST_1 161.83 18.8 2.2e-16
TEST_2 125.46 18.8 2.2e-16
TEST_3 263.65 18.8 2.2e-16
TEST_4 81.503 18.8 8.763e-10
TEST_5 36.616 18.8 0.008178
我尝试使用这行代码,但结果并不好。
ETS_RESIDUALS %>%
stringr::str_replace_all("(\\S+) =", "`\\1` =") %>%
paste0("data.frame(", ., ", check.names = FALSE)")
谁能帮我处理这段代码?
【问题讨论】: