【发布时间】:2014-12-16 13:29:13
【问题描述】:
我想生成一个划分图。图的上半部分是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 的子集 data.table .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
我是否忽略了什么或者这是一个错误?
系统:Windows 7,Rstudio Desktop v0.98.1091,R 3.1.2,data.table 1.9.4
【问题讨论】:
-
所有绘图均在我的设置中正确生成:Rstudio 0.98.1028, R 3.0.2。
标签: r data.table rstudio