簡體   English   中英

如何根據其他幾個變量添加新列

[英]How to add a new column based on a few other variables

我是 R 新手,無法使用現有變量的條件創建新變量。 我有一個包含幾列的數據集:名稱、月份、性別二進制和價格。 我想創建一個新變量 Price2,它將:

  1. 如果[月份是6-9(六月-九月)並且性別為0],則將價格收取20
  2. 如果[月份是6-9(六月-九月)並且性別為1],則將價格收取30
  3. 如果[月份是1-5(1-5月)或月份是10-12(10-12月),則收取0價格

——

structure(list(Name = c("ADI", "SLI", "SKL", "SNK", "SIIEL", "DJD"), Mon = c(1, 2, 3, 4, 5, 6), Gender = c(1, NA, NA, NA, 1, NA), Price = c(23, 34, 32, 64, 23, 34)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))

使用dplyr包中的case_when()

mydf$newprice <- dplyr::case_when(
  mydf$Mon >= 6 & mydf$Mon <= 9 & mydf$Gender == 0 ~ 20,
  mydf$Mon >= 6 & mydf$Mon <= 9 & mydf$Gender == 1 ~ 30,
  mydf$Mon < 6 | mydf$Mon > 9 ~ 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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