2017-08-21 52 views
1

我試圖用sapply加0.84直到達到1.7,這樣我就可以避免使用for循環。在R中使用sapply的簡單加法

我已經試過:

my_vector2 <- sapply(-2.5:1.7, function(x) x + 0.84) 

我期待看到-1.66, -0.82, 0.02, 0.86, 1.7但輸出-1.66 -0.66 0.34 1.34 2.34

我錯過了什麼?

+6

'seq(-2.5,1.7,by = .84)'? –

+2

您不需要使用sapply,您可以向矢量添加值。問題在於間隔。你以-2.5:1.7期望什麼值? – csgroen

+2

您正在爲以下向量添加「0.84」:'-2.5 -1.5 -0.5 0.5 1.5'。我猜這個問題是你期望-2.5:1.7產生的結果是什麼? – emilliman5

回答

2

seq()可以做你想做什麼:

> seq(-2.5,1.7,by = .84)[-1] 
[1] -1.66 -0.82 0.02 0.86 1.70 

[-1]的一點是要扔掉的第一個數字,-2.5。如果發生舍入錯誤,您可能還需要小心最後的號碼。在提示處輸入?seq以獲取更多信息。