2016-02-03 32 views
-4

我有工作(1)或(0)全年不起作用發電機的小時值。如果我知道一小時內的發電量是40GW,現在我需要計算產生的電量。所以,綜上所述的全部時間內的發電機上,當是減去小時和繁衍的結果與40我只是不知道是否有R中的任何功能,要做到這一點快。總和值矩陣if語句

ccmix 
    [,1] [,2] 
[1,] 1272.819 1 
[2,] 1289.226 0 
[3,] 5308.784 1 
[4,] 5338.036 0 
[5,] 5797.671 1 
[6,] 5859.749 0 
[7,] 8760.000 1 
+1

什麼是你想要的輸出? –

+0

就在最後一年所產生的電力的數量 – nikolapeti

+0

你可以試試'40 *(SUM(ccmix [,1] [!! ccmix [,2]) - 和(ccmix [,1] [ccmix [2! ]]))' – akrun

回答

1

第二列是二進制的。這樣一種方式將其更改爲邏輯向量,子集對應的值,以「ON」和「OFF」(即,1和0),得到兩者的sum的差異,並用40

40*(sum(ccmix[,1][!!ccmix[,2]]) - sum(ccmix[,1][!ccmix[,2]])) 

的否定函數(!)轉換0〜TRUE和1至FALSE。如果我們執行雙重否定(!!),則1變爲TRUE且0爲FALSE。而不是否定,我們可以用as.logical包裝得到1轉換爲TRUE,0到FALSE。