使用`ROW`作为列名时出现ggplot facet_wrap错误

时间:2013-07-09 19:59:06

标签: r ggplot2 data.table

我有一个data.table我正在尝试用ggplot绘制facet,我收到下面列出的错误。在此先感谢您的帮助。

require(data.table, ggplot2)

dt <- as.data.table(read.table(h=T, 
text="ROW mode resbin V1
0   RD   50.0  0
1   RD   50.0  0
2   RD   50.0  0
0   RD   33.3  0
1   RD   33.3  0                  
1   PV    7.5  1
2   PV    7.5  0
0   PV    6.0  1
1   PV    6.0  1
2   PV    6.0  1"))


ggplot(dt, aes(x = factor(resbin), y = V1, group=1)) + 
geom_point(aes(color=factor(mode)), size=3) +
geom_line() +
facet_wrap(~factor(ROW), ncol=2)

#Error in layout_base(data, vars, drop = drop) : 
#At least one layer must contain all variables used for facetting

1 个答案:

答案 0 :(得分:2)

有趣的事情正在发生,我不完全明白。这似乎对我有用:

dt <- as.data.table(read.table(h=T, 
text="grp mode resbin V1
0   RD   50.0  0
1   RD   50.0  0
2   RD   50.0  0
0   RD   33.3  0
1   RD   33.3  0                  
1   PV    7.5  1
2   PV    7.5  0
0   PV    6.0  1
1   PV    6.0  1
2   PV    6.0  1"))


ggplot(dt, aes(x = factor(resbin), y = V1)) + 
geom_point(aes(color=factor(mode)), size=3) +
geom_line(aes(group = 1)) +
facet_wrap(~grp, ncol=2)

我似乎需要更改列名从中删除factor()。但我只是简单地测试过这个。