创建一个data.frame,添加N行采样函数
我正在努力创建一个随机样本的数据帧。我举一个可复制的例子: 我有一些与此类似的自定义函数:创建一个data.frame,添加N行采样函数,r,dataframe,loops,R,Dataframe,Loops,我正在努力创建一个随机样本的数据帧。我举一个可复制的例子: 我有一些与此类似的自定义函数: vendorSelector <- function() { sample(c("Paco", "Juan", "Alex", "Marc"), 1) } productSelector <- function() { sample(c("Water", "Oil"
vendorSelector <- function() {
sample(c("Paco", "Juan", "Alex", "Marc"), 1)
}
productSelector <- function() {
sample(c("Water", "Oil", "Carbon", "Wood"), 1)
}
vendorSelector您可以通过包含一个参数来更改函数,然后采样n个观察值:
productSelector <- function(n) {
sample(c("Water", "Oil", "Carbon", "Wood"), n, replace = T)
}
vendorSelector <- function(n) {
sample(c("Paco", "Juan", "Alex", "Marc"), n, replace = T)
}
data <- data.frame(Vendor = vendorSelector(10), Product = productSelector(10),
stringsAsFactors = FALSE)
data
Vendor Product
1 Paco Oil
2 Paco Carbon
3 Juan Oil
4 Paco Oil
5 Marc Carbon
6 Juan Oil
7 Juan Carbon
8 Juan Wood
9 Alex Oil
10 Paco Wood
productSelector您可以通过包含一个参数来更改函数,然后采样n个观察值:
productSelector <- function(n) {
sample(c("Water", "Oil", "Carbon", "Wood"), n, replace = T)
}
vendorSelector <- function(n) {
sample(c("Paco", "Juan", "Alex", "Marc"), n, replace = T)
}
data <- data.frame(Vendor = vendorSelector(10), Product = productSelector(10),
stringsAsFactors = FALSE)
data
Vendor Product
1 Paco Oil
2 Paco Carbon
3 Juan Oil
4 Paco Oil
5 Marc Carbon
6 Juan Oil
7 Juan Carbon
8 Juan Wood
9 Alex Oil
10 Paco Wood
productSelector一次直接对1000行进行采样,您需要设置replace=T
,因为采样项目的数量大于原始项目集
data.frame(供应商=样品(c(“Paco”、“Juan”、“Alex”、“Marc”),1000,替换=T),产品=样品(c(“水”、“油”、“碳”、“木”),1000,替换=T),
stringsAsFactors=FALSE)
一次直接对1000行进行采样,您需要设置replace=T
,因为采样项目的数量大于原始项目集
data.frame(供应商=样品(c(“Paco”、“Juan”、“Alex”、“Marc”),1000,替换=T),产品=样品(c(“水”、“油”、“碳”、“木”),1000,替换=T),
stringsAsFactors=FALSE)
谢谢,效果很好!谢谢,效果很好!谢谢,您的解决方案给了我继续我的数据项目的想法,也解决了我遇到的问题!谢谢,您的解决方案给了我继续我的数据项目的想法,也解决了我遇到的问题!
productSelector <- function(n) {
sample(c("Water", "Oil", "Carbon", "Wood"), n, replace = T)
}
vendorSelector <- function(n) {
sample(c("Paco", "Juan", "Alex", "Marc"), n, replace = T)
}
data <- data.frame(Vendor = vendorSelector(10), Product = productSelector(10),
stringsAsFactors = FALSE)
data
Vendor Product
1 Paco Oil
2 Paco Carbon
3 Juan Oil
4 Paco Oil
5 Marc Carbon
6 Juan Oil
7 Juan Carbon
8 Juan Wood
9 Alex Oil
10 Paco Wood