2015-08-05 7 views
1

Мой входКак просто умножить два столбца данных?

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

я могу просто сказать, ДФ $ а * ДФ $ б пожалуйста, помогите. У меня проблема с дублированием. они получаются умноженными в матричной форме, и есть также проблема с разными столбцами длины.

+1

что-то вроде 'ф.р. $ D <- с (DF, а * б)'? –

+0

Да, мне нужно только умножение элемента по строке. – areddy

+4

Вам не нужны вызовы 'cbind()' при построении data.frames; функция конструктора 'data.frame()' автоматически принимает каждый аргумент как отдельный столбец. – bgoldst

ответ

4

в базе R:

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

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

В Dplyr:

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

Вы должны назначить df $ a * df $ b новому столбцу в фреймворке данных.

ДФ $ с < -df $ а * ДФ б

Это добавляет новый столбец (с) $, которая содержит столбец умноженной на колонке б.

Смежные вопросы