R 以编程方式向数据帧添加新变量
我实施了这个混合效应模型:R 以编程方式向数据帧添加新变量,r,dataframe,R,Dataframe,我实施了这个混合效应模型: mtcarsSub <- mtcars[,c("wt", "drat", "cyl")] library(lme4) mtcarsME <- lmer(drat ~ (1|cyl) + wt, data=mtcarsSub) 请注意,将随机效果的预测添加到mtcarsSub时,我重复了3次。我如何以编程方式添加随机效果的预测,可能是使用函数,也可能是在一行中?如下所示: for( i in c(4,6,8) ) { mtcars[[ paste0("
mtcarsSub <- mtcars[,c("wt", "drat", "cyl")]
library(lme4)
mtcarsME <- lmer(drat ~ (1|cyl) + wt, data=mtcarsSub)
请注意,将随机效果的预测添加到mtcarsSub
时,我重复了3次。我如何以编程方式添加随机效果的预测,可能是使用函数,也可能是在一行中?如下所示:
for( i in c(4,6,8) ) {
mtcars[[ paste0("random.effect.cyl", i) ]] <- mtcarsMEFixed + ranef(mtcarsME)$cyl[as.character(i),]
}
(c(4,6,8)中的i){
mtcars[[paste0(“random.effect.cyl”,i)]]对于懒惰的人来说,
[
索引允许你传递字符串,而$
则不允许。因此foo[[['bar']]
相当于foo$bar
。在某种程度上,不相关但有趣的一点是,[
索引不保留名称,而[
和$
则保留名称。
for( i in c(4,6,8) ) {
mtcars[[ paste0("random.effect.cyl", i) ]] <- mtcarsMEFixed + ranef(mtcarsME)$cyl[as.character(i),]
}