【问题标题】:R: Creating data frame with random values for different type typesR:为不同类型创建具有随机值的数据框
【发布时间】:2017-06-13 15:43:19
【问题描述】:

任务 1:我希望在 R 中创建一个数据框,我希望在其中包含以下列:项目、数量、价格。不过,所有值都必须是随机的。

在此之后,我需要创建 10 个版本的列表,随机分配数量,每个数量需要为 0 或更多。

TASK2:现在我们有了一个库存清单:1) 获取 1 个库存清单。 2) 从列表中随机抽取 25 件商品 3) 取店铺数量,除以 10 并四舍五入 4) 这些商品和数量成为货物 5) 货物价格 * 数量的总和成为货物价值 6) 使增加货物重量。

对 TASK2 的任何帮助将不胜感激。

【问题讨论】:

  • 什么是 sumproduct?补货重量,怎么算?商店数量 = 10 个库存清单之一的数量吗?是否需要从 TASK 1 中的数据帧中采样“此列表的 10 个版本”或什么? Task2.1) 我们是从 10 个列表中采样还是从任务 1 中采样 df?您想要或执行所有 10 个列表的任务 2,还是只执行任务 1 中的 df?
  • Sumproduct 是基本的 AB + CD。货物重量意味着变量的名称需要是那个。存储数量基本上是 1 个列表中所有数量的总和。是的,列表的 10 个版本需要具有相同的项目,价格与 List1 中的相同,但数量需要在每个列表中更改。 Task2:是的,我们可以取列表中的任何 1,所以,让我们从 task1 中取 df。所以,这需要对所有 10 个列表进行。

标签: r dataframe data-manipulation


【解决方案1】:

如果这就是你要找的东西,我没有完全明白,但是,怎么样:

df <- data.frame(items=sample(LETTERS,10,replace=FALSE),quantity=sample(1:100,10,replace=FALSE),price=sample(100:1000,10,replace=FALSE))

write.table(df,file ='table.txt',quote=FALSE,row.names = F)

【讨论】:

  • 嗨,这确实创建了一个我想要的数据框,但我正在寻找一个真实的数据集。例如:想象一下它是 Target 一天的交易数据。所以,显然,数量和价格必须是现实的。下一个问题是:现在我们有一个库存清单: 1)获取 1 个库存清单。 2) 从列表中随机抽取 25 件商品 3) 取店铺数量,除以 10 并四舍五入 4) 这些商品和数量成为货物 5) 货物价格 * 数量的和积成为货物价值 6) 使增加货物重量。谢谢!
  • 根据您发布的内容,我的解决方案似乎已经足够了。现在,虽然你是否接受/喜欢它取决于你,但我建议你阅读一些关于你想做的具体事情的内容。互联网和 StackOverflow 上有很多优秀的资源,这是最好的学习方式。如果你仍然卡住,你应该问一个更具体的问题。归根结底,SO 是关于帮助人们和学习,而不是做别人的工作。
  • 感谢 Val。这只是我卡住的事情的一部分,如果这个事情被执行,我可以处理其余的事情。
【解决方案2】:

这里是一个比较通用的解决方案:

df <- data.frame(Item=sample(c("bike","computer", "milk","eggs","pants","flux capacitor","sonic screwdriver"), 25, replace = T),
                 quantity=rpois(25, 2),
                 price=rnorm(25, 100, 25))

write.csv(df, file = "data.txt", row.names = F, col.names = T)

sample 适用于从袋子中挑选有或没有更换的物品,您还可以设置挑选每件物品的概率。

rpois 来自泊松分布,在我看来,这与数量非常相似

rnorm 从正态分布中提取也可以使用runif

【讨论】:

  • 谢谢。下一个问题是:现在我们有一个库存清单: 1)获取 1 个库存清单。 2) 从列表中随机抽取 25 件商品 3) 取店铺数量,除以 10 并四舍五入 4) 这些商品和数量成为货物 5) 货物价格 * 数量的和积成为货物价值 6) 使增加货物重量
  • 请提出一个新问题或编辑您当前的问题以完成。请查看如何制作可重现的示例:stackoverflow.com/questions/5963269/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2011-08-15
  • 2021-12-08
  • 2018-09-10
  • 2021-08-21
  • 2021-09-28
相关资源
最近更新 更多