Re: [問題] data.frame&data.table之間的問題

看板R_Language作者 (sam)時間9年前 (2016/06/02 09:30), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串3/3 (看更多)
用您的例子舉例 dt <- data.frame(V1 = rpois(5, 3), V2 = sample(c("g1", "g2"), 5, 1), V3 = rnorm(5)) dt %>% mutate(V5 = V1 * V3, V6 = substr(V2, 2, 2), V7 = round(V3), V8 = 1L, V3 = V3 **2) 顯示如下: V1 V2 V3 V5 V6 V7 V8 1 3 g1 1.12495036 -3.1819103 1 -1 1 2 1 g1 0.29694964 -0.5449309 1 -1 1 3 5 g1 0.10764162 -1.6404391 1 0 1 4 2 g2 0.73171230 -1.7108037 2 -1 1 5 4 g1 0.05673553 -0.9527689 1 0 1 但是若是 dt <- data.table(V1 = rpois(5, 3), V2 = sample(c("g1", "g2"), 5, 1), V3 = rnorm(5)) dt %>% mutate(V5 = V1 * V3, V6 = substr(V2, 2, 2), V7 = round(V3), V8 = 1L, V3 = V3 **2) 執行後無結果 ※ 引述《celestialgod (天)》之銘言: : ※ 引述《huangsam (sam)》之銘言: : : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : : 入門(寫過其他程式,只是對語法不熟悉) : : [問題敘述]: : : 1。使用dplyr 時資料型態需要為data.frame? : 是的,Hadley在某篇文章(我記得是發布purrr的文章)中說明過dplyr的d是for data.frame : : 2。data.table處理大筆資料時比data.frame好? : 是的,data.table不會複製一次data : : 3。我在使用dplyr時,若資料型態為data.table時,會不會有問題,與問題1有關,好比 : : 說使用filter,mutate(用的時候無效?),select,為什麼有些可以有些不行,請大大解惑 : 不會有問題,但是dplyr在操作data.table的時候,還是複製了一次 (避免一些問題) : 所以不會享有data.table帶來的好處,現在Hadley正在做dtplyr : 想把data.table加入dplyr,並且不會複製一次data.table : 現在應該只有join有做完而已,其他部份還是援用dplyr的函數 : 我不懂你說的『用的時候無效』跟『有些可以有些不行』,麻煩你舉例一下 : : 謝謝! : : [關鍵字]: : : data.frame data.table -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.170.56 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1464831018.A.F1F.html

06/02 09:42, , 1F
這是print出問題,目前無解,只能乖乖assign變數再
06/02 09:42, 1F

06/02 09:42, , 2F
查看
06/02 09:42, 2F

06/02 11:43, , 3F
感謝大大!
06/02 11:43, 3F

06/02 18:06, , 4F
依你的例子,你如果要print data.table的結果
06/02 18:06, 4F

06/02 18:07, , 5F
需要加上 %>% .[] 強制印出
06/02 18:07, 5F
文章代碼(AID): #1NJumgyV (R_Language)
文章代碼(AID): #1NJumgyV (R_Language)