获取 R 中两列值之间的随机值

我有一个包含两列的数据框:

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

数据框如下所示:

   lowage highage
1      45      50
2      15      21
3       9      14
4      51      60
5      22      24
6      45      50
7       4       8
8       4       8
9       9      14
10     25      30

我试图为两列之间的每一行获取一个随机数并将其保存为第三列。

我尝试了以下方法:

df$age <- sample(df$lowage:df$highage,1)

这给了我以下错误:

Error in `$<-.data.frame`(`*tmp*`, age, value = c(47L, 50L, 49L, 48L,  : 
  replacement has 6 rows, data has 795
In addition: Warning messages:
1: In df$lowage:dfhighage :
  numerical expression has 795 elements: only the first used
2: In dflowage:df$highage :
  numerical expression has 795 elements: only the first used

我尝试使用 for 循环:

for (i in 1:length(df$lowage)) {
 df$age[i] <- round(sample(df$lowage[i]:df$highage[i]),1)
}

虽然这会创建一个具有随机年龄值的列年龄,但它仍然给我以下警告:

Warning messages:
1: In df$age[i] <- round(sample(df$lowage[i]:df$highage[i]),  ... :
  number of items to replace is not a multiple of replacement length

尽管我可以看到 df 中每一行的值,但我不确定此警告是否对列有影响。

罗纳克·沙阿

我们可以使用applywith MARGIN=1(row-wise) 并在两列之间生成一系列数字,然后使用 从中选择任意 1 个数字sample

df$random_number <- apply(df, 1, function(x) sample(seq(x[1], x[2]), 1))

df

#   lowage highage random_number
#1      45      50            47
#2      15      21            21
#3       9      14             9
#4      51      60            55
#5      22      24            23
#6      45      50            47
#7       4       8             7
#8       4       8             8
#9       9      14            14
#10     25      30            27

或类似的概念 mapply

df$random_number <- mapply(function(x, y) sample(seq(x, y), 1), 
                    df$lowage, df$highage)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中的两列中获取所需值

来自分类Dev

获取SQL Server 2008 R2中列的最后两个非空值

来自分类Dev

从R中的“值”获取“键”

来自分类Dev

如何获得R中两列之间的公共值?

来自分类Dev

R:在两个列中按组过滤两个data.frame以获取重复值

来自分类Dev

在R中获取给定列的多个值的行

来自分类Dev

R data.frame; 获取列中的值范围

来自分类Dev

从 R 中的表中获取单个值

来自分类Dev

从数组中获取随机值

来自分类Dev

通过R中的nls获取p值

来自分类Dev

获取r中Column值的输出?

来自分类Dev

如何获取R以逐行搜索大型数据集以查找两列之一中是否存在值,然后在缺少数据时返回值

来自分类Dev

在R中的两列之间随机化数据

来自分类Dev

我们如何获取MongoTemplate中两个限制之间的列值?

来自分类Dev

从R中的表2获取表1中的开始日期和结束日期之间的值

来自分类Dev

R-获取颜色值

来自分类Dev

R:从XML获取属性值

来自分类Dev

替换R中两列中的值

来自分类Dev

替换R中两列中的值

来自分类Dev

SQL查询以获取两行中的值之间的差异

来自分类Dev

获取 MySQL 中两个日期之间的值差

来自分类Dev

从列中获取一些值以使多个新列与R中的id列匹配

来自分类Dev

用于从列中获取随机值的任何内置函数

来自分类Dev

获取 R 中两个时间戳之间的时间

来自分类Dev

获取两个可播种的给定值之间的随机整数

来自分类Dev

比较两列并替换R中的值

来自分类Dev

R:根据R中的行值获取列名

来自分类Dev

获取一列中的值与矩阵(R)中其他列的最大值相对应?

来自分类Dev

如何基于R中另一列中的特定值获取特定列的所有值?

Related 相关文章

热门标签

归档