从两列rstudio中随机选择一个数字

问题描述 投票:0回答:1

我有这个数据框,我尝试考虑第一列和名为“零”的列中的数据来创建新列,我一直在使用sample(),间隔为(0,df $ first ),但是它给了我一个介于0和第一列中数据之间的数字,而不是一个(0)或另一个(例如9)。

初始数据帧:

> df
  first zero 
1     9    0   
2     8    0   
3    16    0  

我想要的是这样的东西:

> df
  first zero new
1     9    0   9
2     8    0   0
3    16    0  16

非常感谢您的回答或意见。谢谢!

r random sample
1个回答
0
投票

我不确定您是否想要这个

set.seed(1)
df$new <- df[cbind(seq(nrow(df)),
                   sample(2,nrow(df),replace = TRUE))]

诸如此类

> df
  first zero new
1     9    0   9
2     8    0   0
3    16    0  16

DATA

df <- structure(list(first = c(9, 8, 16), zero = c(0, 0, 0)), class = "data.frame", row.names = c(NA, 
-3L))
© www.soinside.com 2019 - 2024. All rights reserved.