2017-04-06 82 views
2

我試圖構建透視表與R.計算字段我的數據幀類似於此:如何在R中使用計算字段來創建數據透視表?

number hour tot  cefe sell 
     1 09:00 50   2  1 
     1 10:00 52  NA NA 
     1 11:00 72   4  1 
     1 12:00 96   3 NA 
     1 13:00 90   4  1 
     1 14:00 98   2  1 
     2 08:00 38   4  1 
     2 09:00 427  16  2 
     2 10:00 493  16  1 
     2 11:00 340  16 NA 
     2 12:00 571  20  2 
     2 13:00 547  23  2 
     2 14:00 578  25  4 

我需要使用「數字」的變量作爲行以構造樞軸表中,「小時「作爲列和」cefe/tot「的值作爲結果。我不想添加另一列或生成另一個數據框來做到這一點,但我不知道該怎麼做。我試着用轉換函數,但它只考慮「賣」變量作爲值。任何想法?

回答

2

您可以dplyrtidyr做到這一點,雖然這個腳本並在技術上創建一個新的列作爲轉型的一部分。

library(dplyr) 
library(tidyr) 

x %>% 
    mutate(cefetot = cefe/tot) %>% 
    select(number, hour, cefetot) %>% 
    spread(key = hour, value = cefetot) 
+1

或類似的'X%>%GROUP_BY(數,小時)%>%綜述(cefetot = CEFE/TOT)%>%的價差(小時,CT)' –

+1

你的第一個答案效果很好,謝謝您幫幫我! –

相關問題