【发布时间】:2021-01-05 19:28:10
【问题描述】:
我有一个包含三列的数据框:
df <- structure(list(lowage = c(45, 15, 9, 51, 22, 45, 4, 4, 9, 25),
highage = c(50, 21, 14, 60, 24, 50, 8, 8, 14, 30)), .Names = c("lowage",
"highage"), row.names = c(NA, 10L), class = "data.frame")
df$random_number <- apply(df, 1, function(x) sample(seq(x[1], x[2]), 1))
我想创建第四列,告诉我们random_number 的来源。因此,例如,在第一行中,列lowage = 45 和highage = 46。比如说,生成的随机数是46(例如)。我想创建第四列,因为它来自 highage 列,所以它显示为标签“highage”。等等……
如果解决方案可以在dplyr 中,那就太好了!
【问题讨论】:
-
当您使用
seq(x[1], x[2])时,您正在从lowage和highage之间的序列中采样。你的意思是c?
标签: r if-statement dplyr