如何在r中将一列数除以一列

时间:2017-12-14 20:06:12

标签: r divide

我有以下数据集: 我在r:

中进行以下操作
./startup.sh

我需要分为2 / 20,3 / 2,0,4 / 20,5 / 20,6 / 20 在第二行,3 / 22,6 / 22,7 / 22,5 / 22,1 / 22。 我可以通过提取列来实现这一点,但这很长很乏味,请一定要有一个更简单的方法

2 个答案:

答案 0 :(得分:7)

你可以简单地做

df[,1:5] / df[,6] 

答案 1 :(得分:0)

您可以使用 dlyr 在多列上按行操作:

library(tidyverse)
library(margrittr)

df <- data.frame(
  Monday=c(2,3), 
  Tuesday=c(3,6), 
  Wednesday=c(4,7),
  Friday=c(5,5),
  Saturday=c(6,1),
  Total=c(20,22))

df %>%
  mutate(
    across(c(1:5),
           .fns = ~./Total))

然后返回:

     Monday   Tuesday Wednesday    Friday   Saturday Total
1 0.1000000 0.1500000 0.2000000 0.2500000 0.30000000    20
2 0.1363636 0.2727273 0.3181818 0.2272727 0.04545455    22