【问题标题】:How to simply multiply two columns of a dataframe? [duplicate]如何简单地将数据框的两列相乘? [复制]
【发布时间】:2015-08-05 06:25:20
【问题描述】:

我的意见是

a<-c(1,2,3,4)
b<-c(1,2,4,8)
df<-data.frame(cbind(a,b))

我的输出应该是

a<-c(1,2,3,4)
b<-c(1,2,4,8)
d<-c(1,4,12,32)
df<-data.frame(cbind(a,b,c))

我可以简单地说 df$a * df$b 请帮忙。我遇到了重复问题。它们以矩阵形式相乘,并且不同长度的列也存在问题。

【问题讨论】:

  • 类似df$d &lt;- with(df, a*b)?
  • 是的,我只需要行元素乘法
  • 构建data.frames时不需要cbind()调用; data.frame() 构造函数自动将每个参数作为单独的列。

标签: r dataframe multiplication


【解决方案1】:

在基础 R 中:

df$c <- df$a * df$b

df$c &lt;- with(df, a * b)

在 Dplyr 中:

df <- df %>% mutate(c = a * b)

【讨论】:

    【解决方案2】:

    您必须将df$a * df$b 分配给数据框中的新列。

    df$c&lt;-df$a*df$b

    这会添加一个新列 (df$c),其中包含列 a 乘以列 b

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2018-01-24
      • 2013-09-10
      • 2021-06-18
      • 1970-01-01
      相关资源
      最近更新 更多