私は、このデータセットに特定の列がIDで平均値を得ることができる機能をまとめ使ってIDどのグループでデータを要約するために、各データセットの列をループに
groupdata <- group_by(mydata, id)
によって
id = c(1,1,1,2,2,3)
v1 = c(3,4,5,2,4,5)
v2 = c(3,1,2,1,4,5)
v3 = c(2,1,2,3,3,4)
mydata <- data.frame(id ,v1, v2, v3)
> mydata
id v1 v2 v3
1 1 3 3 2
2 1 4 1 1
3 1 5 2 2
4 2 2 1 3
5 2 4 4 3
6 3 5 5 4
とグループ化されたデータを持っています:私はやってトリング午前何
summarize(groupdata, mean = mean(v1))
# A tibble: 3 × 2
id mean
<dbl> <dbl>
1 1 4
2 2 3
3 3 5
は、各列をループし、それらをまとめ
colnames <- names(mydata)
for(i in colnames){
assign(paste(i,"mean", sep = "_"), summarize(groupdata, mean = mean(i)))
}
しかし、私はこの
> v1_mean
# A tibble: 3 × 2
id mean
<dbl> <lgl>
1 1 NA
2 2 NA
3 3 NA
を得た私は、あなたがパラメータとして集計関数に列名を渡すことができないことがわかったループ機能を改善するための任意の提案はありますか?
とステップをスキップすることができます。 'apply(mydata、1、mean) ' –
' apply'はグループ化されていない平均値を返します。私が望むものではありません。 – freefrog
それは残念です。実際の回答で更新されました。 –