簡體   English   中英

R中的IF語句 滿足條件時在新列中添加新元素

[英]IF statement in R. Add new elements in new column if conditions met

我正在嘗試在數據框中添加一列,如果滿足該特定行的條件,則新列中的新元素的值為“1”。

為了檢查我正在遍歷另一個參考數據框的情況。

county_list = (df$county_name[df$wolves_present_in_county==1 & df$year==2015])

for (i in df$county_name) {
  for (j in county_list) {
    if (df$county_name[i]==county_list[j])
    {
      df$wolvein2015 = 1
      break
    }
  }
}

Output數據集中的錯誤

這是dplyr的選項

library(dplyr)
df %>%
     mutate(wolvein2015 = +((year == 2015 & !is.na(year)) &  
         as.logical(wolves_present_in_county) & !is.na(wolves_present_in_county)))

我認為你可以在 base R 中做你想做的事。這是一個使用 mtcars 的例子:

cars <- mtcars
cars$new <- ifelse(cars$cyl == 4 & cars$mpg > 30, 1, 0)

根據 2 個其他變量的條件,新列添加了 0/1。

順便說一句,因為 R 是一個向量化的范例,所以你應該只將for循環用作最后的手段。

暫無
暫無

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

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