我想生成一个分裂图。图的上半部分应该使用组a
的值,下半部分应该使用组b
的值。我使用data.table()
来完成这个任务。以下是我用来生成示例并设置图形输出的代码:
library(data.table)
set.seed(23)
Example <- data.table('group' = rep(c('a', 'b'), each = 5), 'value' = runif(10))
layout(1:2)
par('mai' = rep(.5, 4))
在通常的R控制台中运行以下代码时,正确的值将用于绘图。当在Rstudio中运行相同的代码时,第二组的值将用于两个图表:
Example[, plot(value, ylim = c(0, 1)), by = group] # Example 1
Example[, .SD[plot(value, ylim = c(0, 1))], by = group] # Example 2
在示例2的数据表子集
.SD[]
中添加逗号时,Rstudio也会生成正确的输出:Example[, .SD[, plot(value, ylim = c(0, 1))], by = group] # Example 3
当使用
barplot()
而不是plot()
时,Rstudio也会使用正确的值:Example[, barplot(value, ylim = c(0, 1)), by = group] # Example 4
我是否忽略了什么问题还是这是一个bug?
系统:Windows 7,Rstudio桌面版v0.98.1091,R 3.1.2,data.table 1.9.4