我大家!For循環和功能錯誤與R
我發現了我的博士研究生的世界,當我想要實現循環來簡化分析時,我遇到了一些問題。
我的數據幀是:
'data.frame': 3581 obs. of 8 variables:
$ Date : Factor w/ 7 levels "03-03-17","10-02-17",..:
$ Experimentator: Factor w/ 9 levels "BURLET","DECHAUD",..:
$ Origin : Factor w/ 3 levels "FRANCE","JAPAN",..:
$ City : Factor w/ 6 levels "MONTPELLIER",..:
$ Lineage : Factor w/ 27 levels "L21","L22","L26",..:
$ Sex : Factor w/ 2 levels "Female","Male":
$ ccr : int 1183 1813 1866 1745 1210 1463 2477 1506
前6是我的因素和最後我的定量變量。 我需要在同一時間幾個因素的工作,然後當我想做例如shapiro.test: 由:
by(data$ccr, c(data$Date, data$Sex, data$Lineage), shapiro.test())
Error in tapply(seq_len(3581L), list(`c(data$Date, data$Sex,
data$Lineage)` = c(2L, : the arguments must have the same length
有了一個for循環很難給我,讓我試着寫:
for(sex in levels(data$Sex)){
for(date in levels(data$Date)){
for(lineage in levels(data$Lineage)){
shapiro.test(data$ccr[,lineage])
}
}
}
BU我不知道如何來增加我的環...
感謝您的幫助!
接收數據你至少應該告訴我們你在使用它在這裏封裝(S)。 –
您需要所有3581條記錄? –
在'by'中,分組變量('INDICES')應該是「一個_'列表因素」。比較'(mtcars,c(mtcars $ vs,mtcars $ am),function(dat)shapiro.test(dat $ mpg))''(您的情況),'by(mtcars,list(mtcars $ vs,mtcars $ am),函數(dat)shapiro.test(dat $ mpg))'。 – Henrik