看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我想要建構交叉表, 但目前只會用Filter後group_by配合summarise每一個,最後再cbind, 這樣好像沒有效率,請問有甚麼辦法可以直接產生呢? 資料格式為 https://imgur.com/a/7M9oXYL [程式範例]: library(magrittr) library(dplyr) test1 <- Total_test1 %>% filter(FW == 1) %>% group_by(,Difficulty) %>% summarise(NewFW = mean(E)) test2 <- Total_test1 %>% filter(FW == 2) %>% group_by(,Difficulty) %>% summarise(OldFW = mean(E)) test3 <- Total_test1 %>% group_by(,Difficulty) %>% summarise(TotalE = mean(E)) cbind(test1,test2[,2],test3[,2]) 目標是希望這樣: New Old Total Low 0.23 0.1 0.13 Mid 0.3 0.13 0.22 High 0.1 0.32 0.31 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.23.35.151 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1612420785.A.D5E.html
Pieteacher: try crosstab 02/04 17:44
xiangying: google 交叉表就不少資訊了 02/04 19:12
andrew43: xtabs 02/04 22:53
WeTinHsu: Reshape2::dcast 02/05 08:26
DoBahaha: dcast 02/08 07:51
andrew43: dcast 例如這樣 https://ideone.com/hGsZzu 02/11 04:35