我在数据框的列名中使用了百分号。到目前为止,我没有遇到任何不利之处。
现在我想用我的数据创建一个ggplot,并因使用百分号而得到以下错误:
Error in stat_boxplot(geom = "errorbar") + geom_boxplot() :
non-numeric argument to binary operator
有没有办法在不必删除列名中的百分号的情况下创建ggplot? 我尝试将名称放在撇号中,但这没有帮助:
#'Values_in%'
#`Values_in%`
这是一个测试数据框:
test_data_frame <- as.data.frame(rnorm(n=10, mean=5, sd=1))
test_data_frame[,2] <- sample(1:2, 10, replace = TRUE)
colnames(test_data_frame) <- c("Values", "Labels_assign") ## like this it works in ggplot
colnames(test_data_frame) <- c("Values_in%", "Labels_assign") ## this doesn't work in ggplot
以下是情节的代码:
library(ggplot2)
ggplot(test_data_frame, aes(x=factor(Labels_assign), y=Values_in%, fill=factor(Labels_assign))) +
stat_boxplot(geom ='errorbar') +
geom_boxplot() +
ggtitle("Box-Whisker-Plot") +
xlab("X-Axis") +
ylab("Y-Axis") +
theme(plot.title = element_text(face="bold", size=16, hjust=0.5)) +
theme(axis.title.x = element_text(face="bold", size=12)) +
theme(axis.title.y = element_text(face="bold", size=12)) +
theme(legend.title = element_text(face="bold")) +
scale_fill_brewer(palette="Pastel2", name="Cluster")