楼主: dxystata
630 1

[问答] x中的0为奇数时,该观测与下一个0之间的观测的id值赋值给新变量ref [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2019-10-9 23:03:19 |AI写论文
20论坛币
  1. x<-c(0,0,1,1,0,1,1,1,0,1,1,0,1,1)
  2. aaa<-data.frame(x)
  3. aaa$id<-1:nrow(aaa)
复制代码
x中的0为奇数时,该观测与下一个0之间的观测的id值赋值给新变量ref。结果如下:
QQ截图20191009230206.jpg

谢谢!

沙发
skyfx 发表于 2019-10-10 16:43:57
library(dplyr)
library(zoo)

x<-c(0,0,1,1,0,1,1,1,0,1,1,0,1,1)
aaa<-data.frame(x)

a <- tbl_df(aaa) %>%
  mutate(id = (1:length(x)))

b <- a %>%
  filter(x == 0) %>%
  mutate(id2 = (1:length(x))) %>%
  mutate(check = ifelse(as.integer(id2 / 2) == id2 / 2, F, T)) %>%
  select(-id2)
  

out <- a %>%
  full_join(b) %>%
  na.locf() %>%
  mutate(ref = ifelse(check, as.character(id), ''))
已有 2 人评分经验 论坛币 热心指数 收起 理由
dxystata + 100 + 10 + 1 热心帮助其他会员
cheetahfly + 10 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 20  热心指数 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 06:57