我知道:
deparse(substitute(x))
允许我们获取变量名称" x"作为一个字符串,但在for循环索引的上下文中,它将返回索引本身而不是它引用的变量。
我的代码包含3个示例:
Histogram <- function(n){
l <- list()
m <- list()
s <- list()
df <- data.frame(l, m, s, stringsAsFactors = F) #Dataframe to store output
for(i in names(n)){
CS <- normalmixEM(n$i) #Generates Histogram
plot(CS, which = 2, main2 = paste(deparse(substitute(i)), "Colony Size (mm)"))
df <- cbind(CS$lambda, CS$mu, CS$sigma)
dev.copy(png, paste(deparse(substitute(i)),".png")) #Export histogram
dev.off()
}
write.csv(df, file = paste(deparse(substitute(n)), ".csv"))
}
我理想的地方:
我的输入数据采用以下格式:
>head(my_values)
X1A X2A X3A X4A X5A X6A X7A X8A X9A X10A X11A X12A X13A X14A X15A X16A X17A X18A X19A X20A X21A X22A X23A
1 2.11 4.58 4.39 5.43 5.73 4.96 3.89 1.65 5.56 3.72 4.20 2.81 4.80 3.95 4.31 3.84 1.63 4.65 2.11 1.90 3.78 6.80 5.51
2 0.55 3.32 4.58 4.67 5.75 4.39 2.39 1.96 4.01 2.85 3.46 2.51 2.28 3.70 4.25 3.30 4.37 4.04 2.79 1.84 3.93 5.18 4.27
3 1.96 3.84 4.14 6.42 5.47 6.17 5.37 1.88 5.85 2.75 3.74 2.47 4.84 2.49 2.56 3.87 4.84 3.19 2.26 2.83 5.03 4.56 5.94
有没有办法在将循环索引转换为字符串之前从循环索引中恢复变量名?