我有一個向量,我想在其中向量化一組假設平均值。
這就是我的意思,如果我有以下內容:
n <- c(10,15,20,25,30,40,50,100,250) # Sample size
m <- 100 # Mean of the generated normal variable
vv <- 25 # variance of the generated normal variable
s <- sqrt(vv)
x <- rnorm(n, m, s)
hu <- c(85, 87.5, 90, 92.5, 95, 97.5, 100, 102.5, 105, 107.5, 110, 112.5, 115) # Hypothesized value of Mean of the generated normal variable
t.test(x, m = 115)$p.value # here I chose a scalar hypothesised mean value
# [1] 2.080525e-07
但是當 m 是c(85, 87.5, 90, 92.5, 95, 97.5, 100, 102.5, 105, 107.5, 110, 112.5, 115)
t.test(x, m = hu)$p.value # here I chose a vector of hypothesised mean value
# Error in t.test.default(x, m = hu) : 'mu' must be a single number
我收到了上述錯誤訊息。
我想要的是
我想在t.test(x, m = hu)$p.value
哪里運行這樣hu
的向量c(85, 87.5, 90, 92.5, 95, 97.5, 100, 102.5, 105, 107.5, 110, 112.5, 115)
,我將有一個vector output
uj5u.com熱心網友回復:
我們可以使用回圈,因為mu
將?t.test
單個值作為輸入
mu - 一個數字,表示平均值的真實值(如果您正在執行兩個樣本測驗,則表示平均值的差異)。
sapply(hu, function(u) t.test(x, mu = u)$p.value)
-輸出
[1] 1.053213e-05 3.227459e-05 1.161963e-04 5.126058e-04 2.903163e-03 2.146785e-02 1.777964e-01 9.192412e-01 2.403805e-01 2.966405e-02 3.873822e-03 6.563008e-04
[13] 1.436296e-04
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/460980.html