亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算有關數據子集的統計信息

計算有關數據子集的統計信息

寶慕林4294392 2019-10-22 21:55:36
這是我的數據的一個可重現的小示例:> mydata <- structure(list(subject = c(1, 1, 1, 2, 2, 2), time = c(0, 1, 2, 0, 1, 2), measure = c(10, 12, 8, 7, 0, 0)), .Names = c("subject", "time", "measure"), row.names = c(NA, -6L), class = "data.frame")> mydatasubject  time  measure1          0      101          1      121          2       82          0       72          1       02          2       0我想生成一個包含該measure特定主題的平均值的新變量,因此:subject  time  measure  mn_measure1          0      10      101          1      12      101          2       8      102          0       7      2.3332          1       0      2.3332          2       0      2.333除了以編程方式遍歷所有記錄或首先重塑為寬格式之外,是否有一種簡單的方法可以做到這一點?
查看完整描述

3 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

使用base R函數ave(),盡管其名稱令人困惑,它仍可以計算各種統計信息,包括mean:


within(mydata, mean<-ave(measure, subject, FUN=mean))


  subject time measure      mean

1       1    0      10 10.000000

2       1    1      12 10.000000

3       1    2       8 10.000000

4       2    0       7  2.333333

5       2    1       0  2.333333

6       2    2       0  2.333333

請注意,我within只是為了縮短代碼而使用。這是沒有的等效項within():


mydata$mean <- ave(mydata$measure, mydata$subject, FUN=mean)

mydata

  subject time measure      mean

1       1    0      10 10.000000

2       1    1      12 10.000000

3       1    2       8 10.000000

4       2    0       7  2.333333

5       2    1       0  2.333333

6       2    2       0  2.333333


查看完整回答
反對 回復 2019-10-22
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

或者與data.table包:


require(data.table)

dt <- data.table(mydata, key = "subject")

dt[, mn_measure := mean(measure), by = subject]


#   subject time measure mn_measure

# 1:       1    0      10  10.000000

# 2:       1    1      12  10.000000

# 3:       1    2       8  10.000000

# 4:       2    0       7   2.333333

# 5:       2    1       0   2.333333

# 6:       2    2       0   2.333333


查看完整回答
反對 回復 2019-10-22
  • 3 回答
  • 0 關注
  • 534 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號