Как я могу взять продукт строки столбцов в кадре данных с общей строкой - PullRequest
1 голос
/ 09 мая 2019

У меня есть N столбцов, которые начинаются со строки «Фактор».Я хочу создать дополнительный столбец в кадре данных, который найдет произведение строк этих столбцов.

Пример данных (Мой фактический набор данных N = 50):

df <- data.frame(Company = c("A","B","C","D","E"),
                Factor1 = c(1,2,3,4,5),
                Factor2 = c(5,4,3,2,1),
                FactorN = c(2,4,6,8,10))

Ожидаемый результат

 df2 <- data.frame(Company = c("A","B","C","D","E"),
                    Factor1 = c(1,2,3,4,5),
                    Factor2 = c(5,4,3,2,1),
                    FactorN = c(2,4,6,8,10),
Factor_Product = c(10,32,54,64,50))

Я пробовал rowProds из пакета matrixStats, но этоТребуется матричный формат.

1 Ответ

1 голос
/ 09 мая 2019

Затем преобразуйте его в матричный формат и выберите столбцы, которые начинаются с "Factor"

matrixStats::rowProds(as.matrix(df[grep("^Factor", names(df))]))
#[1] 10 32 54 64 50

Вы также можете использовать apply по строкам

apply(df[grep("Factor", names(df))], 1, prod)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...