第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在每個組中創(chuàng)建一個滯后變量?

如何在每個組中創(chuàng)建一個滯后變量?

至尊寶的傳說 2019-07-04 15:50:32
如何在每個組中創(chuàng)建一個滯后變量?我有一張數(shù)據(jù)表:set.seed(1)data <- data.table(time = c(1:3, 1:4),                   groups = c(rep(c("b", "a"), c(3, 4))),                   value = rnorm(7))data#    groups time      value# 1:      b    1 -0.6264538# 2:      b    2  0.1836433# 3:      b    3 -0.8356286# 4:      a    1  1.5952808# 5:      a    2  0.3295078# 6:      a    3 -0.8204684# 7:      a    4  0.4874291我想計算“value”列的滯后版本,內每個級別的“組”。結果應該是#   groups time      value  lag.value# 1      a    1  1.5952808         NA# 2      a    2  0.3295078  1.5952808# 3      a    3 -0.8204684  0.3295078# 4      a    4  0.4874291 -0.8204684# 5      b    1 -0.6264538         NA# 6      b    2  0.1836433 -0.6264538# 7      b    3 -0.8356286  0.1836433我試過用lag直接:data$lag.value <- lag(data$value) .這顯然是行不通的我也嘗試過:unlist(tapply(data$value, data$groups, lag)) a1         a2         a3         a4         b1         b2         b3  NA -0.1162932  0.4420753  2.1505440         NA  0.5894583 -0.2890288 這幾乎是我想要的。但是,生成的向量與data.table中的排序不同,這是有問題的。在基R、plyr、dplyr和data.table中,最有效的方法是什么?
查看完整描述

3 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

使用包dplyr:

library(dplyr)data <- 
    data %>%
    group_by(groups) %>%
    mutate(lag.value = dplyr::lag(value, n = 1, default = NA))

施予

> data

Source: local data table [7 x 4]

Groups: groups


  time groups       value   lag.value

1    1      a  0.07614866          NA

2    2      a -0.02784712  0.07614866

3    3      a  1.88612245 -0.02784712

4    1      b  0.26526825          NA

5    2      b  1.23820506  0.26526825

6    3      b  0.09276648  1.23820506

7    4      b -0.09253594  0.09276648

這隱含地假定值已經按組排序。如果沒有,則按組對其進行排序,或者使用order_by爭論lag..還請注意,由于現(xiàn)有問題對于dplyr的某些版本,為了安全起見,應該顯式地給出參數(shù)和命名空間。


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 942 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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