我已經查看了相關的dplyr問題,R文檔,並嘗試對我認爲是語法誤解的東西進行排序。dplyr中group_by函數的錯誤
以下是反映我的數據strx的示例數據。
id <- c(1:20)
xvar <- seq(from=2.0, to=6.0, length.out=100)
yvar <- c(1:100)
binary <- sample(x=c(0,1), size=100, replace=TRUE)
breaks <- c(0,11,21,31,41,51,61,71,81,91,100)
df <- data.frame(id, xvar, yvar, binary)
df <- transform(df, bin=cut(yvar, breaks))
id xvar yvar binary bin
1 1 2.000000 1 1 (0,11]
2 2 2.040404 2 0 (0,11]
3 3 2.080808 3 0 (0,11]
4 4 2.121212 4 0 (0,11]
5 5 2.161616 5 1 (0,11]
6 6 2.202020 6 0 (0,11]
我想運行下面,看着xvar
手段,由binary
變量劃分如何,都顯著不同的基礎上,他們屬於bin
組。
pval <- df %>% group_by(bin) %>% summarise(p.value=t.test(xvar ~ factor(binary))$p.value)
不過,我不斷收到錯誤:「聚合因子必須只有2級」
我看到了類似的帖子這一點,但問題是T.test是如何正在運行。我使用不同的group_by
對象運行了相同的代碼,它工作得很好。數據時間是一個因素和一切。
有什麼想法?我也希望對如何改善這個問題的提出方式提出批評。
在每個組中,只有一個'binary'的值,所以不清楚你想用't.test'來處理這些值,並且它拋出了一個像't.test(c( 1,2)〜c(1,1))'。你想要比較每個'xvar'組的意思到什麼? – alistaire
我認爲生成的數據幀可能太小(所以沒有足夠的值)來創建適當的測試。讓我編輯數據幀,使其更健壯。 – asshah4
我希望顯示的是......對於'xvar'值的範圍,它們可以通過變量'binary'分組,並且可以對它們運行t檢驗。我想對每個'bin'運行t檢驗作爲分組變量。那有意義嗎? – asshah4