我有这个数据框,我尝试考虑第一列和名为“零”的列中的数据来创建新列,我一直在使用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
DATA
df <- structure(list(first = c(9, 8, 16), zero = c(0, 0, 0)), class = "data.frame", row.names = c(NA,
-3L))