创建新列的示例
Sample to create a new column
我想创建一个新列,它将标记一定数量的列 1 和剩余数量的列 0。如果我希望 20% 的列具有此选项,我可以通过以下方式接近:
测试$Rand_Num <-样本(1:5,nrow(测试),replace=TRUE)
测试$输出 <- ifelse(测试$Rand_Num==1,1,0)
不过我想说的是,如果我有 1000 列,那么 200 列随机为 1,其余标记为 0,我可以快速更改为 30%,等等。以适应不同的场景。
谢谢!
如果您想随机 select 列,以便随机 select 列的 20%(或其他百分比),您可以 return [=21] 的向量=]ed 列(用于输入 data.frame df
)与
p <- 0.2 # change me!
nselect <- round(p*ncol(df), 0)
whichcolumns <- sample(1:ncol(df), nselect)
要将其转换为由 0 和 1 组成的向量,您可以这样做
whichcolumns_01 <- rep(0, ncol(df))
whichcolumns_01[whichcolumns] <- 1
不可否认,里面有一些胶带,但它应该能用。
我想创建一个新列,它将标记一定数量的列 1 和剩余数量的列 0。如果我希望 20% 的列具有此选项,我可以通过以下方式接近:
测试$Rand_Num <-样本(1:5,nrow(测试),replace=TRUE) 测试$输出 <- ifelse(测试$Rand_Num==1,1,0)
不过我想说的是,如果我有 1000 列,那么 200 列随机为 1,其余标记为 0,我可以快速更改为 30%,等等。以适应不同的场景。
谢谢!
如果您想随机 select 列,以便随机 select 列的 20%(或其他百分比),您可以 return [=21] 的向量=]ed 列(用于输入 data.frame df
)与
p <- 0.2 # change me!
nselect <- round(p*ncol(df), 0)
whichcolumns <- sample(1:ncol(df), nselect)
要将其转换为由 0 和 1 组成的向量,您可以这样做
whichcolumns_01 <- rep(0, ncol(df))
whichcolumns_01[whichcolumns] <- 1
不可否认,里面有一些胶带,但它应该能用。