2013-08-20 49 views
-5

我是R編程的新學員,因爲我目前的工作要求我適應它。然而,我剛開始時,學習曲線陡峭。我目前的項目需要我使用if/else或for命令。有一組數字:R編程 - if/else命令

1.586077^+00 
3.242631^-03 
2.426304^-03 
8.616781^-04 
5.396826^-03 
2.947846^-04 
1.018943^+01 
8.639457^-03 
8.458051^-03 
2.807870^+02 

現在我需要它經過這些數字,如果數字大於1,那麼它記下來的命令。如果數字小於1,則它將其添加到達到大於1的下一個數字,然後從頭到尾寫入總和。因此,例如:

由於上述集有10個號碼,輸出想:1, 2.138069469, 10.025406833

感謝您的幫助!

+4

你到目前爲止嘗試了什麼?你卡在哪裏?你會得到更好的迴應,如果它看起來像我們沒有爲你做所有* :) –

+0

我試着用谷歌搜索如何使用if/else命令,但我發現的例子與我所需要的不相似。相信我,對這個問題的回答並不能解決所有問題。我希望這樣做,但事實並非如此。這只是一個大問題的一部分,我只是碰巧卡在這裏。 – user2700482

+0

我很確定'1.586077^+ 00'是1. –

回答

1
x <- c(.5, 0.2, 2, 3.4, 0.4, 1.2, .2, .8, 2.3, 7.4) 

result.final <- NULL 
cumul.total <- 0 

for (i in x) { 

    cumul.total <- cumul.total + i 

    if(i > 1){ 
    result <- cumul.total 
    } 

    else { 
    next 
    } 

    result.final <- c(result.final, result) 

} 

result.final 
+0

感謝哈里森的快速反應。大部分這種迴應對我來說都是有意義的,在獲得我需要的時候它幾乎是完美的。也許我的問題還不清楚,但是有沒有辦法從一開始就增加到大於1的數字來的地方。 – user2700482

+0

我想我現在很困惑,你給我的數字清單是我的腳本的輸出。你的意思是你想要累積的金額嗎?那麼2.7,6.1等? –

+0

我覺得我現在很困惑,你給我的數字列表是我的腳本的輸出。你的意思是你想要累積的金額嗎?那麼2.7,6.1等? - 哈里森瓊斯1分鐘前 - 是的,確切的 – user2700482