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

Choose randomly a number from two columns rstudio

我有这个数据框,我正在尝试根据第一列中的数据和名为 "zero" 的列创建一个新列,我一直在使用 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

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

我不确定你是否想要这个

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

数据

df <- structure(list(first = c(9, 8, 16), zero = c(0, 0, 0)), class = "data.frame", row.names = c(NA, 
-3L))