5

My input is

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

My output should be

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))

can i simply say df$a * df$b please help. I am getting an issue with duplication. they are getting multiplied in matrix form and there is also issue with different length columns.

areddy
  • 373
  • 3
  • 7
  • 18

2 Answers2

16

In Base R:

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

or df$c <- with(df, a * b)

In Dplyr:

df <- df %>% mutate(c = a * b)
phiver
  • 23,048
  • 14
  • 44
  • 56
2

You must assign df$a * df$b to a new column in the dataframe.

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

This adds a new column (df$c) which contains column a multiplied by column b.

dpel
  • 1,954
  • 1
  • 21
  • 31
rosswalter
  • 21
  • 2