【发布时间】:2021-12-27 19:37:01
【问题描述】:
【问题讨论】:
标签: r
【问题讨论】:
标签: r
如果您只想要随机功能,可以尝试这样的方法。请注意,这是基于发布的图像,但您提到您的真实数据具有 300 个特征。我不知道您的真实数据集是什么样的,但您应该能够轻松修改它以考虑实际数据集。
set.seed(123)
# create sample data
sample_data <- data.frame(id = 1:7,
F1 = sample(1:10,7),
F2 = sample(1:10,7),
F3 = sample(1:10,7),
F4 = sample(1:10,7),
F5 = sample(1:10,7),
F6 = sample(1:10,7),
F7 = sample(1:10,7),
F8 = sample(1:10,7),
label = sample(0:1, 7, replace = T))
# sample random factor columns
subset1 <- sample_data[, c(1,sample(2:9,2),10)]
subset2 <- sample_data[, c(1,sample(2:9,2),10)]
subset3 <- sample_data[, c(1,sample(2:9,2),10)]
subset4 <- sample_data[, c(1,sample(2:9,2),10)]
#subset1
# id F8 F6 label
#1 1 2 1 1
#2 2 8 3 1
#3 3 9 10 1
#4 4 10 7 1
#5 5 1 6 0
#6 6 6 5 0
#7 7 5 8 1
【讨论】:
感谢@jpsmith 的回答,我设法使用以下代码解决了这个问题:
data <- read.csv("-----/file.csv")
label <- data$label
subset1 <- data[, c(sample(1:300,75))]
subset1$label <- label
data = data[,!(names(data) %in% colnames(subset1))]
subset2 <- data[, c(sample(1:225,75))]
subset2$label <- label
data = data[,!(names(data) %in% colnames(subset2))]
subset3 <- data[, c(sample(1:150,75))]
subset3$label <- label
data = data[,!(names(data) %in% colnames(subset3))]
subset4 <- data
subset4$label <- label
如果有改进解决方案的方法,请发布。
【讨论】: