我需要通过多个数字列(Var1,Var2)中的分组变量(动物)来拟合许多黄土样条,并提取这些值。
我发现执行此任务的代码一次一个变量;
# Create dataframe 1
OneVarDF <- data.frame(Day = c(replicate(1,sample(1:50,200,rep=TRUE))),
Animal = c(c(replicate(100,"Greyhound"), c(replicate(100,"Horse")))),
Var1 = c(c(replicate(1,sample(2:10,100,rep=TRUE))), c(replicate(1,sample(15:20,100,rep=TRUE)))))
library(dplyr)
library(tidyr)
library(purrr)
# Get fitted values from each model
Models <- OneVarDF %>%
tidyr::nest(-Animal) %>%
dplyr::mutate(m = purrr::map(data, loess, formula = Var1 ~ Day, span = 0.30),
fitted = purrr::map(m, `[[`, "fitted")
)
# Create prediction column
Results <- Models %>%
dplyr::select(-m) %>%
tidyr::unnest()
此“ [结果]数据帧对于下游任务(使许多非参数分布趋向趋势)至关重要。
我们如何使用具有多个数字列的数据框(下面的代码)来实现这一点,并提取“ Results”
数据框?谢谢。# Create dataframe 2
TwoVarDF <- data.frame(Day = c(replicate(1,sample(1:50,200,rep=TRUE))),
Animal = c(c(replicate(100,"Greyhound"), c(replicate(100,"Horse")))),
Var1 = c(c(replicate(1,sample(2:10,100,rep=TRUE))), c(replicate(1,sample(15:20,100,rep=TRUE)))),
Var2 = c(c(replicate(1,sample(22:27,100,rep=TRUE))), c(replicate(1,sample(29:35,100,rep=TRUE)))))
我需要通过多个数字列(Var1,Var2)中的分组变量(动物)来拟合许多黄土样条,并提取这些值。我找到了可以一次完成一个任务的代码。 #...
包括一个gather()
函数,以类似于先前的代码进行。
我们可以使用长格式获取数据。 pivot_longer
,group_by
Animal
和列名,并将loess
应用于每个组合。