我試圖將一個for-loop分解成一個tibble,然後使用summarize()
函數來獲得最終值。數值表達式有x個元素:只有第一個使用
這是循環
prob <- NULL
for(i in(4:16)){
p1 = dbinom(i,16,0.2)
k=13-i
p2=sum(dbinom(k:30,30,0.2))
prob = c(prob,p1*p2)
print(i)
}
我能走到今天
df <- tibble(i=4:16) %>%
mutate(p1=dbinom(i,16,0.2),k=as.integer(13-i)) %>%
mutate(p2=sum(dbinom(k:30,30,0.2)))
df
這將產生以下錯誤
Warning message:
In k:30 : numerical expression has 13 elements: only the first used
警告說,第k只有13元,但這不應該是一個問題,因爲我的其餘數據有13個元素。我不知道如何解決這個問題。
根本的問題是,因爲你不能從多個值的序列 - 例如:'C(1,2,3):3'給相同的*警告*。 – thelatemail