2018-11-07
閱讀量:
1026
關于數(shù)據(jù)轉換的問題

如上圖所示,
想讓同一個sub條件下,SD==1 條件下的 rating_indif2 減去 SD==0 條件下的rating_indif2,
這樣,每一個sub,計算出一個差值。
另外需要注意,數(shù)據(jù)中SD==1 和SD==0的條件并不一定是固定的前后順序
能不能不使用循環(huán)就能實現(xiàn)計算?
可以如下參考辦法:
df <- data.frame(sub=rep(26:28, each=2),
? ?? ?? ?? ?? ???sd=rep(c(0,1), times=3),
? ?? ?? ?? ?? ???rating_indif=rnorm(6))
subb <- df$sub %>% unique()
noforloop <- function(subb) {
??sub_temp <- df[df$sub==subb,]
??dif_temp <- sub_temp[sub_tempsd==1,"ratingindif"]?subtemp[subtempsd==0, "rating_indif"]
??return(c(subb,dif_temp))
}
your_dif <- lapply(subb, noforloop) %>% unlist %>% matrix(nrow=length(subb), byrow=T) %>%
??as.data.frame %>% `names<-`(c("sub", "diff"))






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論