r - 随机数序列和常数
问题描述
样本数据
set.seed(1)
data=data.frame("id"=c(sort(rep(1:100,3))),
"survey"=c(rep(1:3,100)))
data$age = ifelse(data$survey == 1, sample(30:60,100,replace=T),0)
目标是为调查等于 1 的每一行获取一个随机数 AGE。然后我想将 3 的值作为一个序列添加到每个 AGE 中。因此,例如,如果调查 1 的 AGE 为 20,则调查 2 的 AGE 等于 23,调查 3 的 AGE 等于 26。我在下面显示样本小数据
datasmall = data=data.frame("id"=c(sort(rep(1:4,3))),
"survey"=c(rep(1:3,4)),
"age"=c(50,53,56,52,55,58,44,47,50,39,42,45))
解决方案
您可以通过相应的子集简单地添加三个。
set.seed(1)
data$age <- NA # if column does not yet exist
data$age[data$survey == 1] <- sample(30:60, length(data$age[data$survey == 1]),
replace=TRUE)
data$age[data$survey == 2] <- data$age[data$survey == 1] + 3
data$age[data$survey == 3] <- data$age[data$survey == 2] + 3
head(data)
# id survey age
# 1 1 1 38
# 2 1 2 41
# 3 1 3 44
# 4 2 1 41
# 5 2 2 44
# 6 2 3 47
推荐阅读
- java - 基于 CAS 的算法 - 线程如何查看最新值?
- angular - 带有多个元素的条带元素 createToken
- r - R/dplyr:根据两个条件替换行值,保持所有其他条件不变
- java - 获取给定字符串的类名
- javascript - 使用 React 和 Gatsby 提交 Pardot 表单处理程序
- javascript - 打开 Bootbox 警报 - 循环遍历字符串数组并显示复选框列表
- javascript - 当父 Div 悬停时更改子 Div 的背景颜色
- kubernetes - 如何删除所有资源,包括特定部署的服务、部署、pod、副本集,不包括 kubernetes 中的特定资源
- javascript - 如何使用 python 抓取 MSN 股票历史?
- vowpalwabbit - 大众语境强盗:历史数据和在线学习