1
我使用生成的600長度樣本:如何使用if語句在r中增加兩個變量?
x <- rnorm(600, mean = 30, sd = 10)
,然後使用由另一個600長名單:
y = ((x-30)/10)
,我的計劃是需要如果測試y是否語句大於1.96如果-y
小於1.96,並且如果發生這種情況,則將變量a
增加1,如果這沒有發生,則將變量b
增加1.
我試過了fo llowing事情:
a = 0
b = 0
ifelse(y > 1.96, inc(a) <- 1, inc(b) <- 1)
ifelse(-y < -1.96, inc(a) <- 1, inc(b) <- 1)
錯誤INC(一)< - 1:找不到功能 「增量< - 」 錯誤INC(B)< - 1:找不到函數「INC < - 「
ifelse(y > 1.96, '+'(a) <- 1, '+'(b) <- 1)
ifelse(-y < -1.96, '+'(a) <- 1, '+'(b) <- 1)
錯誤+一個< - 1:找不到功能 」+ < - 「 誤差在+ B < - 1:找不到函數 「+ < - 」
if (y > 1.96) {
a = a + 1
}
if (-y < -1.96) {
a = a + 1
} else{
b = b + 1
}
警告消息: 在如果(Y> 1.96){: 條件具有長度> 1且只第一個元素將被用於
ifelse(y > 1.96, a <- a + 1, b <- b + 1)
ifelse(-y < -1.96, a <- a + 1, b <- b + 1)
這幾乎工作,但它給了我全部爲1的輸出和:
a
# [1] 1
b
# [1] 1
那麼我該如何增加變量或者我做錯了什麼?
如果y> 1.96,那麼-y必須<-1.96。 R是矢量化的,所以sum(y> 1.96)等將起作用 –