1
這是一個關於apply的使用問題。這種性質的問題已經得到解答純屬巧合。我不是在尋找最簡單的方法來做到這一點(這會使它成爲重複)。我寫了一些可以用循環解決的東西。我正在尋找如何使用apply來寫我的問題。如何在R中使用apply而不是循環
在R中,我很難擺脫總是使用循環的習慣。這是我寫的基本示例腳本。它會獲取數據並說明表格中每個唯一編號的頻率。如果可能,我可以通過應用完成相同的工作?
x <- c(1,3,4,7,8,10,1,2,3,4,4,6,7,8,8,1,2,3,7,8)
y <- data.frame(x)
z <- data.frame(unique(y)) #finds unique values
i <- nrow(z) #nrow for loop length
id <- 1:i
repped <- data.frame()
for (i in id){
zz <- y[which(y[,1] == z[i,]),] #takes each value from z and finds rows with identical values
value <- length(zz)
repped <- rbind(repped, value)
}
yy <- data.frame(z, repped)
colnames(yy) <- c("number", "frequency")
這是一個非常有用的功能你剛剛告訴我。我現在知道我的方法有多複雜,但我明確的問題是,在這種情況下我將如何使用apply來代替循環? – Andrew
@Andrew更新了申請家庭功能 – akrun
如果你想擺脫使用循環的習慣,那麼不要養成使用'apply'的新習慣。相反,養成一種向量化你的代碼的習慣。 –