簡體   English   中英

如何通過在現有列中,特別是在同一現有列中除以值,在數據框中添加新列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM