簡體   English   中英

根據其他兩列創建bin列

[英]Create bin column based on two other columns

我需要創建一個包含垃圾箱的列,而我發現上一篇文章對此有所幫助。 但是,我要創建的箱不僅是另一列的分組間隔,而且還需要考慮第二列的階乘數據。 更准確地說,我想按季節和年份對漁獲量進行分組,即將漁獲的月份分為“冷”(11月至2月),“溫暖”(3月至6月)和“溫暖”(7月)組-Oct)和相關年份。

fish <- data.frame(month = sample(1:12,36,replace=T), year = sample(c(2015,2016,2017),36,replace=T))
fish <- fish[order(fish$year,fish$month),]

library(dplyr)
lev <- c(-Inf, 2, 6, 10, Inf)
lab <- c("cold", "warmer", "warm", "cold")
fish <- mutate(fish,season = cut(month, lev, labels = lab))

上面的代碼(基於前面提到的帖子)將創建一個bin列。 但是,我需要將“冷”組的Jan / Feb部分與上一年相關聯,即2016年1月/ 2月應與2015年的“可以”組分組。 任何幫助都感激不盡!

干杯

這將達到目的:

fish <- mutate(fish, season = case_when(month %in% c(1, 2, 11, 12) ~ "cold",
                                        month %in% c(3, 4, 5, 6) ~ "warmer",
                                        TRUE ~ "warm"))

可能早先想到了這一點:只需添加另一個“年”列即可,其中Jan / Feb的值將為“ year” -1。

fish <- mutate(fish,seasonYY = ifelse(fish$month==1|fish$month==2,fish$year-1,fish$year))

以后的分析可以使用“ new.year”和“ season”作為正確捕獲的子集。

暫無
暫無

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

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