【发布时间】:2021-01-28 14:14:17
【问题描述】:
我正在尝试在 .dbf 中的数据中创建一列。 我需要创建一个列,其中 70% 为 0(或 TRUE),30% 为 1(或 FALSE),只是随机的。
我该怎么做?
【问题讨论】:
我正在尝试在 .dbf 中的数据中创建一列。 我需要创建一个列,其中 70% 为 0(或 TRUE),30% 为 1(或 FALSE),只是随机的。
我该怎么做?
【问题讨论】:
如果你需要例如 100 个值,试试这个:
sample(c(0,1), size = 100, replace = TRUE, prob = c(0.7, 0.3))
【讨论】:
这种方式建立在@Leonardo 的响应之上
这种方式可以帮助您创建一个包含 2 列和一个标题的数据框。
首先创建数据框和列
df <- sample(c(0,1), size = 100, replace = TRUE, prob = c(0.7, 0.3))
column_1 <- "Column 1"
将两者结合起来创建数据框
newdf <- data.frame("Column 1" = df)
最后,使用grepl命令,我们可以填写一列,分别为False和True
newdf$presence <- ""
newdf$abesence <-"1"
newdf$presence[grepl('1', newdf$abesence)] <- ifelse(newdf$Column.1[grepl('1', newdf$abesence)] == 1,'False', 'True')
去掉不必要的列
newdf[3] <- NULL
检查 False 和 True 的频率
table(newdf$presence)
你去吧!这不是解决这个问题的最优雅的方式,但它确实有效:)
【讨论】: