啊啊啊啊啊吖

2018-11-07   阅读量: 803

数据分析师 R语言

关于数据转换的问题

扫码加入数据分析学习群

屏幕快照 2018-11-05 下午3.22.12.png

如上图所示,

想让同一个sub条件下,SD==1 条件下的 rating_indif2 减去 SD==0 条件下的rating_indif2,

这样,每一个sub,计算出一个差值。

另外需要注意,数据中SD==1 和SD==0的条件并不一定是固定的前后顺序

能不能不使用循环就能实现计算?

可以如下参考办法:

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"))

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 4 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子