我有一个这样的数据集。
> dataset
| ID | 一种 | 乙 | C | d |
|---|---|---|---|---|
| 1 | 10 | 1 | 30 | 50 |
| 2 | 5 | 0 | 5 | 60 |
| 3 | 20 | 1 | 18 | 90 |
| 4 | 103 | 0 | 20 | 80 |
| 5 | 16 | 1 | 56 | 100 |
依此类推,与要求相关的列数最多为“n”。
我在研究领域的同事进行了某些分析,他们给我的输入是一个数据框。其中行名称对应于新数据集的感兴趣变量。
像这样的东西。
> rownames(Features)
| 一种 |
| 乙 |
| d |
| 广告 |
| 乙:丁 |
| 公元前 |
| a:c |
其中冒号 (:) 代表“产品”。因此,为了继续工作,我需要将这些产品包含在原始数据集中。
我手动创建了一个以下列方式重现乘法的函数(其中 x 代表我的原始数据集):
Products<- function(x){x<- x %>% mutate(Product1=x$a*x$d)
x<- x %>% mutate(Product2=x$b*x$d)
x<- x %>% mutate(Product3=x$b*x$c)
x<- x %>% mutate(Product4=x$a*x$c)
return(x)}
Run Code Online (Sandbox Code Playgroud)
但是,考虑到要创建的产品数量每次都是可变的,我想找到一种方法来自动创建这些列乘法,并使用它们给我的名称作为输入。我确定我的方法不是最好的,所以非常欢迎任何帮助。