R:下标文本作为变量



在r中,我想在循环中创建多个图。Y轴标签应该显示一个下标,其中下标文本应随循环插图而变化。

用于订阅标签,我以前使用了"表达式"。但是,正如您在最小示例中看到的那样,表达式中的下标不能像我认为它的方式那样索引(而不是打印" 1"," 2"," 3"它只是打印" i"(。您对如何修复此操作有一个想法(通过使用表达功能或任何其他能够产生下标的文本函数(?

(?

最小代码:

# minimal example code
Data = matrix(ncol = 4, nrow = 1000)
colnames(Data) = c("time", "k1", "k2", "k3")
Data[,1] = seq(0.1,100,0.1)
Data[,2] = sin(Data[,1])
Data[,3] = cos(Data[,1])
Data[,4] = tan(Data[,1])
for(i in 1:3) {
  plot(Data[,1], Data[,(1+i)], type = "l", lwd = 2, xlab = "time", ylab = expression("k" [i]))
}

谢谢!

使用bquote。从此偷走了:r

中的图中的下标
for(i in 1:3) {
  plot(Data[,1], Data[,(1+i)], type = "l", lwd = 2, xlab = "time", ylab = bquote(k[.(i)]))
}

它的语法非常奇怪: bquote(WORD [ . (OBJECT) ]。请注意,WORD未引用和点。我相信.指的是要找到OBJECT的环境。

最新更新