2017-01-03 5 views
-3

に変異する私の例であるdplyrはここの場所

library('dplyr') 
a <- c(0.2,1.3) 
df_test <- data.frame(a) 
df_test %>% mutate(a =round(a,0)) 

それが生成します。

a 
1 0 
2 1 

を、しかし、元のデータフレームdf_testは変更されません。 mutateの結果を同じデータフレームにどのように割り当てるのですか?

+3

'df_test <- df_test %>%mutate(a = round(a、0))'? – Axeman

+1

@Axeman、ありがとうございました! – user1700890

+0

いくつかのRチュートリアルを読むことから始めてください。本当にここにdplyrに関連するものは何もありません。 –

答えて

7

我々はdata.tableを使用している場合は、割り当て(:=)オペレータが

をコピーせずに、あまりにも場所でこれを行い

library(magrittr) 
df_test %<>% 
     mutate(a = round(a,0)) 

場所に変更するmagrittrから%<>%複合代入演算子を使用することができます

library(data.table) 
setDT(df_test)[, a := round(a,0)]  
関連する問題