在所有編寫循環方面沒有太多經驗,我期望自動化(帶循環)我經常使用所有新數據集的東西:創建每個變量的箱形圖和直方圖,如以及計算描述性統計數據,對於後者,我傾向於同時使用describe(Hmisc)和/或stats(fileds)。在DF中使用循環的變量的簡單barplot
理想情況下,我想讓循環爲每個適當的變量生成一個boxplot。我下面的環路產生只有一個箱線圖並返回錯誤:
錯誤:無功能從返回,跳躍到頂級
什麼我收到錯了嗎?此外,如果任何人可以指向我的參考/網站,可以理順我的循環書寫方式不足,我很樂意提供幫助。
謝謝! 克里斯
y <- LETTERS[as.integer(rnorm(100, mean=5, sd=1))]
z <- LETTERS[as.integer(rnorm(100, mean=10, sd=1))]
x <- round(rnorm(100, mean=5, sd=2.5),2)
data <- as.data.frame(cbind(x,y,z))
A<- do.call("cbind", lapply(data, class))
B<- as.vector(A[1,])
C <- grep("character|factor", B)
for (i in 1:length(C)) {
x <- C[i]
counti <- table(data[,x])
y <- barplot(counti, main=paste("Barplot for var", x))
return(y)}
爲什麼你添加'return(y)'給你的循環?刪除它,你的循環會像預期的那樣工作。 – sgibb
我會給你指出[R Inferno](http://www.burns-stat.com/pages/Tutor/R_inferno.pdf),以幫助你避免循環。對於這種繪圖,朝着'ggplot2',特別是'facet_wrap'。 – Justin
賈斯汀優秀點。我不認爲'1:length(C)'是必要的,只需像我一樣直接傳遞C即可。然後你可以擺脫'x < - C [i]'和其他任何你有'x'的地方用'i'取代 –