2017-06-30 6 views
1

私は2つの生物学的データセットを持っています。データセット1には、グループ別にラベル付けされた個別のレベル測定値が含まれています。1つのデータフレーム内の個々の値を計算し、2番目のデータフレームにマージする

size <- c(1,5,4,2,6) group <- c(1,1,2,2,2)

data1 <- data.frame(size, group) 

データセット2は、グループレベルでの平均測定値を含んでいる、すなわち割合は

group <- c(1,2) 
p_sx <- c(0.3, 0.76) 
data2 <- data.frame(group, p_sx) 

Qを生き延び:私はデータセット1でグループあたりの平均サイズを計算し、マージだろうかそれはユニークなグループ名に基づいてデータセット2に変換されますか?大いに助けてください!

答えて

0

これはあなたの後のことですか?

library(dplyr) 
data1 <- data1%>%group_by(group)%>% 
        summarise(mean_size = mean(size)) 
data2 <- data1%>%left_join(data2,"group") 

出力は次のとおり

> data2 
# A tibble: 2 × 3 
    group mean_size p_sx 
    <dbl>  <dbl> <dbl> 
1  1   3 0.30 
2  2   4 0.76 
1

mergeaggregate使用:

merge(aggregate(size ~ group, data1, FUN=mean), data2, by="group")

関連する問題