这是采集 100 个样本并存储它们的方式:
my_samples <- replicate(100, Heights[sample(nrow(Heights), 5), ])
如果您的 .csv 文件只是用逗号分隔一种类型的值(高度),而不是结构化为表格,您可能希望将其转换为向量。大多数读取文本格式数据的 R 函数都会将数据转换为数据框或其他类似格式的表格。
heights <- unlist(strsplit(readLines("yourfile.csv"), ","))
readLines("yourfile.csv") 带有逗号分隔值的 .csv 文件会将其转换为字符向量。 strsplit() 然后为您完成分离工作。
把这一切放在一起,用一个虚拟的例子:
writeLines(c("1,2,3,4,5", "6,7,8,9,10"), "test.csv")
heights <- as.numeric(unlist(strsplit(readLines("test.csv"), ",")))
set.seed(123)
my_samples <- replicate(100, sample(heights, 5))
dim(my_samples)
# [1] 5 100
您可以看到 my_samples 是一个 5 行(每行对应于从 heights 采样的单个元素)和 100 列(每列对应于一百个采样事件之一)的矩阵。