我一直在尋找2或3天,現在試圖爲我的問題找到解決方案,但沒有成功。我很抱歉,如果這很容易或已經在那裏,但我找不到它。我有3個數據幀,長度從1到300不等,它只能沿着ggplot x軸顯示大約60個值,而不會變得不可讀,我不想忽略值,所以我試圖找到計算每個數據幀的長度並將其分成不超過60個「x」圖的方法。如何將300個月分爲60組的ggplot2組中的x軸可讀性
到目前爲止,我嘗試過:facet_grid,facet_wrap,transform和split。 「分割」對於分割數據可以正常工作,但會添加「X1」。 「X2」。 ...「Xn」。到變量名的前面(其中n是它將數據分成的分區數)。所以當我打電話給ggplot2時,它找不到我原來的變量名稱(「Cost」和「Month」),因爲它們看起來像X1.Cost X1.Month,X2.Cost等等......我該如何解決這個問題?
我願意接受任何建議,尤其是如果我可以解決這兩個問題(一次不能硬編碼成60行,並闖入具有較小x軸範圍的圖表)。在此先感謝您的耐心和幫助。
斯蒂芬妮(絕望的研究生)
下面是一些存根代碼:
```{r setup, include=FALSE}
xsz <- 60 # would like not to have to hardcode this
ix1 <- seq(1:102) # would like to break into 2 or 3 approx equal graphs #
fcost <- sample(0:200, 102)
f.df <- data.frame("Cost" = fcost, "Month" = ix1)
fn <- nrow(f.df)
fr <- rep(1:ceiling(fn/xsz),each=xsz)[1:fn]
fd <- split(f.df,fr)
fc <- numeric(length(fd))
for (i in 1:length(fd)){
print(ggplot(as.data.frame(fd[i]), aes(Month, Cost)) +
geom_line(colour = "darkred", size = .5) +
geom_point(colour = "red", size = 1) +
labs(x = "Projected Future Costs (monthly)", y = "Dollars") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5)) +
theme(axis.text.x = element_text(angle = 60, vjust = .6)))
}
```
當我運行它,我得到:在EVAL 錯誤(表達式,ENVIR,enclos):對象月「沒有找到
當我這樣做: 名(as.data.frame(FD [1]))
我得到: [1]「X1 .Cost「」X1.Month「
謝謝你非常非常感謝!奇蹟般有效! –