R:如何根据其他列中的因素向新列中添加值

时间:2019-04-10 17:25:16

标签: r simulation dice

我正在尝试模拟一些骰子。

每侧都有一个食物。我的目标是获取所有可能的组合,然后逐行汇总(可能通过添加到为此目的而创建的列中)

我对R仍然不满意,我尝试了很多事情,但是我可能误用了它们,所以告诉您“我尝试过X,但它没有用”,我不放心。相反,我试图尽我所能准确地解释我的问题。

这是我在做什么:

这将添加用于汇总骰子掷骰的列。效果很好。

Makecolumns <- function(df){
  df[,"Number of fruits eaten"] <- NA
  df[,"Had a vegetable?"] <- NA
  df[,"Exotic fruits included?"] <- NA
  df[,"Number of exotic fruits included?"] <- NA
  return(df)
}

这将创建具有所有可能组合的表格。效果很好。

createfruittable <- function(nr_one=0,nr_two=0,nr_three=0){
  one <- as.data.frame(c("Bacon","Bacon","Mango","Mango","Pear","Pear","Cucumber","Pear_pear"))
  two <- as.data.frame(c("Bacon","Bacon","Pear","Pear","Pear","Pear","Pear_Mango","Pear_Mango"))
  three <- as.data.frame(c("Pear","Pear","Pear","Pear","Mango","Mango","Cucumber","Cucumber"))

  result <- (expand.grid(c(replicate(nr_one,one),replicate(nr_two,two),replicate(nr_three,three))))
convertfruit(result)

}

每个骰子之一的例子

fruits_eaten <- createfruittable(nr_one = 1, nr_two = 1,nr_three = 1)

我添加的列名称应说明我要总结/计算的内容。如果您运行代码,我认为它将非常直观。

我想逐行计算,并根据骰子结果的组合进行计数。这给我带来麻烦,因为掷骰子的结果是我数据框中的因素,而且我无法使用条件来获得所需的结果。

示例: 如果我在第一行中有梨,芒果,黄瓜,我想算一下这卷有2个水果,一个异国水果,包含1个异国水果和蔬菜。

0 个答案:

没有答案