我是R初学者。 我编写了我的脚本,用于使用ggplot绘制一些数据。 这就是我所说的,并且正在工作!:
plotSerie <- ggplot(fileIn, aes(x=DOY_S1, y=S1_VH, fill=variety, group=paste(fileIn$DOY_S1, fileIn$variety, sep="")))+
geom_boxplot()
问题是我想在ggplot之前更改要绘制的列。
pol <- "VH"
sensor <- "S1"
type <- "variety"
plotSerie <- ggplot(fileIn, aes(x=paste("DOY_",sensor, sep=""), y=paste(sensor,"_", pol, sep=""), fill=type, group= paste(fileIn$paste("DOY_",sensor, sep=""), fileIn$type, sep="")))+
geom_boxplot()
但它没有用。
你能帮助我吗?
谢谢
答案 0 :(得分:2)
事先更改列名:
colnames(df) <- c('x','y')
或尝试类似:
ggplot(data, aes(x = Var, y = Freq)) + geom_boxplot() + xlab("Category Name") + ylab("Variable Name")
用你的例子:
plotSerie <- ggplot(fileIn, aes(x=DOY_S1, y=S1_VH, fill=variety, group=paste(fileIn$DOY_S1, fileIn$variety, sep=""))) +
geom_boxplot() + xlab("DOY_S1") + ylab("S1_VH")
答案 1 :(得分:0)
好吧,我的一个朋友帮我解决了我的问题。
我解决了我的问题,在我的数据框中添加了一列用于分组:
sensor <- "S1"
pol <- "VH"
type <- "variety"
cc <- paste("DOY_",sensor, sep="")
aa <- fileIn[cc]
bb <- fileIn[paste(type)]
df <- cbind(aa,bb)
names(df) <- c('aa','bb')
fileIn$grp <- as.factor(paste(df$aa, df$bb, sep=""))
plotSerie <- ggplot(fileIn, aes_string(x=paste("DOY_",sensor, sep=""),
y=paste(sensor,"_",pol, sep=""),
fill=type,
group="grp"))
谢谢