DPLYRを使用して次のタスクを完了するためのよりコンパクトな方法があるかどうかを確認したいと思います。DPLYRから指定された変数への結果を
id name value average max min
1 chris 8
1 chris 5
1 chris 3
1
1 2
2 tom 12
2 tom 6
2 tom 4
2 tom
2
これに:
id name value average max min
1 chris 8 4.5 8 2
1 chris 5 4.5 8 2
1 chris 3 4.5 8 2
1 4.5 8 2
1 2 4.5 8 2
2 tom 12 7.3 12 4
2 tom 6 7.3 12 4
2 tom 4 7.3 12 4
2 tom 7.3 12 4
2 7.3 12 4
値はIDごとにグループ化されて、私はこれから行きたいです。今、私は、次の一連のコマンドを実行します。
ステップ1:idで平均を取り、新しいDFを作成します。
library(dplyr)
new_df <- df %>%
group_by(id) %>%
summarise_each(funs(mean(value, na.rm=TRUE)))
ステップ2:new_df
で平均を除くすべての変数を削除ステップ3:new_dfをマスタにマージする
DPLYRの結果をIDに基づいた変数に直接送る方法はありますか?ありがとうございました。
おそらく、このような新しいコード
df <- df %>%
group_by(id) %>%
mutate_each(funs(average = mean(value, na.rm = TRUE),
min = min(value, na.rm = TRUE),
max = max(value, na.rm = TRUE)))
データフレームコード
id = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2)
name = c("chris", "chris", "chris", "", "", "tom","tom","tom","tom","")
value = c(8,5,3,"",2,12,6,4,"","")
average = c(1:10)
max = c("","","","","","","","","","")
min = c("","","","","","","","","","")
df = data.frame(id, name, value, average, max, min)
[再生可能なフォーマット](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)でデータを共有してください。これらの空白の値が何を表しているのかは不明です。彼らはNAですか?またはスペース?または長さゼロの文字列? – MrFlick
こんにちは@MrFlick、上記のデータフレームコードを追加しました。ありがとうございました。 – DCRubyHound