看板 R_Language 關於我們 聯絡資訊
不好意思,新手又來問問題了 假設我有如下的資料 no1 ABAEDHD no2 ABCCREA no3 GCDEHIRE 我想得到 A B C D E G H I 4 3 3 3 4 1 2 1 這樣的結果 就是把第二欄位 不管哪一行的字串 的字元計數加總 我自己的作法是用迴圈 先算出每一行的計數最後再加總 想請問有沒有更快更有效率的方式? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.32.9 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1489722679.A.487.html
cywhale: do.call("paste",list(dt$V2, collapse="")) %>% 03/17 12:29
cywhale: strsplit(split="") %>% table() 03/17 12:30
allen1985: table(unlist(sapply(dt$no, function(x) 03/17 13:01
allen1985: strsplit(x,"")))) 03/17 13:01
celestialgod: 一樓做法比較好,vectorize程度比較高 03/17 19:10
memphis: 為什麼要do.call? 直接貼起來不就好了? 03/17 21:08
celestialgod: 沒差(攤手,do.call => do a function call 03/18 08:33
celestialgod: 你用paste0(dt$V2, collapse="")跟 03/18 08:34
celestialgod: do.call("paste",list(dt$V2, collapse="")) 是一樣 03/18 08:34
celestialgod: do.call第一個element可以不用quote拉~~ 03/18 08:34
celestialgod: argument 03/18 08:34