【发布时间】:2020-08-31 10:51:53
【问题描述】:
我正在尝试自动化一些事后分析,但我会尝试用一个比喻来解释我自己,我相信这会说明我正在尝试做的事情。
假设我在两个列表中有一个字符串列表,在第一个列表中我有一个名称列表,在另一个列表中有一个形容词列表:
list1 <- c("apt", "farm", "basement", "lodge")
list2 <- c("tiny", "noisy")
假设我还有一个数据框,其中包含一堆数据,我将其命名为类似这样的名称,因为它们是之前一些线性分析的结果。
> head(df)
qt[apt_tiny,Intercept] qt[apt_noisy,Intercept] qt[farm_tiny,Intercept]
1 4.196321 -0.4477012 -1.0822793
2 3.231220 -0.4237787 -1.1433449
3 2.304687 -0.3149331 -0.9245896
4 2.768691 -0.1537728 -0.9925387
5 3.771648 -0.1109647 -0.9298861
6 3.370368 -0.2579591 -1.0849262
and so on...
现在,我要做的是进行一些自动操作,在这些操作中,前面列表中的字符串会随着它们进入 for 循环而动态变化。我已经列出了所有不同组合的列表,并将其命名为distinct。现在我正在尝试做这样的事情:
for (i in 1:nrow(distinct)){
var1[[i]] <- list1[[i]]
var2[[i]] <- list2[[i]]
#this being the insertable name part for the rest of the variables and parts of variable,
#i'll put it inside %var[[i]]% for the sake of the explanation.
%var1[[i]]%_%var2[[i]]%_INT <- df$`qt[%var1[[i]]%_%var2[[i]]%,Intercept]`+ df$`qt[%var1[[i]]%,Intercept]`
}
这里对我来说困难的是%var1[[i]]% 同时在一个变量中,并且作为数据框内的列名。
任何帮助将不胜感激。
【问题讨论】: