我正在尝试在R中创建一个大约5000行和5-6列的虚拟数据集。我试图通过为每一列创建随机函数来实现它。但是,调用函数只返回一个值。我尝试实现它的代码如下:
Vertical <- function(a) {
vec1 <- c('HiTech', 'BFSI', 'Insurance', 'Retail', 'Ecomm', 'Media', 'Govt')
for(i in 1:a) {
b <- sample(vec1,1)
return(b)
}
}
n <- Vertical(5000)我需要变量'n‘来返回值的范围(总计5000),这是我无法实现的。请求一些关于它的帮助。谢谢你。
发布于 2021-03-21 14:59:50
您可以一起对所有值进行采样,并将它们放入一个矩阵/data.frame中。
Vertical <- function(nr, nc) {
vec1 <- c('HiTech', 'BFSI', 'Insurance', 'Retail', 'Ecomm', 'Media', 'Govt')
as.data.frame(matrix(sample(vec1, nr * nc, replace = TRUE), nr, nc))
}
Vertical(6, 3)
# V1 V2 V3
#1 BFSI HiTech Govt
#2 Insurance Ecomm Insurance
#3 Media Govt Retail
#4 Ecomm Ecomm BFSI
#5 HiTech Govt Ecomm
#6 Govt Govt Retail发布于 2021-03-21 14:39:54
这样如何:
vec1 <- c('HiTech', 'BFSI', 'Insurance', 'Retail', 'Ecomm', 'Media', 'Govt')
b <- lapply(1:10, function(y) sample(vec1, y, replace=TRUE))https://stackoverflow.com/questions/66729409
复制相似问题