看板 R_Language 關於我們 聯絡資訊
※ 引述《Tampa (光芒)》之銘言: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 讀入csv檔 : 表格形式如下 : x25 x26 x27 : 6 h g : 7 g h : 8 : 9 g h : 10 h g : 想要統計g 跟h的次數 並做成圖 : 因為圖形好像不能直接計算字元 : 所以要先把字元次數轉成數字 : [程式範例]: : 大家可以看到 表格總共有x.25 x.26 x.27三行 : 底下 分別會有g ,h ,跟空格 : 現在想要做 : 1.統計整個表格共有幾個g 幾個h : 2.每一行 總共有幾個g 幾個h : 已用過table等語法 但還是無法計算出來 : 希望呈現的形式 是變成y<-(g的次數,h的次數) : 然後再來畫圖 : 感謝大家 # 一般作法 dat <- data.frame(x1 = c("h", "g", "", "g", "h"), x2 = c("", "h", "h", "", "g"), x3 = c("g", rep("", 4)), stringsAsFactors = FALSE) table(factor(unlist(dat), levels = c("g", "h"))) # g h # 4 4 sapply(dat, function(x){ table(factor(x, levels = c("g", "h"))) }) # x1 x2 x3 # g 2 1 1 # h 2 2 0 # dplyr作法 library(dplyr) dat <- data.frame(x1 = c("h", "g", "", "g", "h"), x2 = c("", "h", "h", "", "g"), x3 = c("g", rep("", 4)), stringsAsFactors = FALSE) dat2 <- dat %>% mutate_each(funs(factor(., levels = c("g", "h")))) # 1. 統計整個表格共有幾個g 幾個h table(unlist(dat2)) # g h # 4 4 # 2. 每一行 總共有幾個g 幾個h dat2 %>% sapply(table) # x1 x2 x3 # g 2 1 1 # h 2 2 0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.63.212 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1466938046.A.82F.html