[英]How to add a new column in data frame by dividing values in an existing column, specifically, in the same existing column?
我想使用mutate
函數創建一個新列。
我不知道該怎么做,因為新列中的值將是數據框中另一列中的值的商。
通常,當我使用mutate
之前,值位於諸如mutate(newcolumn = colX_values / colY_values)
類的不同列中時,但是這次,方程式的兩個部分都位於同一列中。 主要區別在於我希望將女性價值觀除以男性價值觀。
```{r}
library(tidyverse)
library(ggplot2)
library(readxl)
```
```{r}
race = c("all", "all", "black", "black")
earnings = c(74467, 57202, 44725, 40974)
gender = c("male", "female", "male", "female")
work_status = c("FT", "FT", "FT", "FT")
data.frame(race, earnings, gender, work_status)
```
```{r}
earnings %>%
filter(work_status == "FT")
```
我最終想要第5列,該列由每場比賽的女性收入/男性收入組成。 因此對於所有男性行,新列中的數字應為1,而所有女性行中的數字應為57202/74467的結果。
我只是不確定如何獲得該結果。
這是您要找的東西嗎?
df %>%
spread(gender,earnings) %>%
mutate(Ratio=female/male)
輸出:
race work_status female male Ratio
1 all FT 57202 74467 0.7681523
2 black FT 40974 44725 0.9161319
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.