簡體   English   中英

如何在數據幀上使用ifelse

[英]how to use ifelse on a data frame

我是R語言的初學者,我試圖了解ifelse工作原理。

我嘗試了一些簡單的方法:

ifelse(mydataframe$col1==mydataframe$col2 ,
  mydataframe$newCol<-TRUE,
  mydataframe$newCol<-FALSE  
)

mydataframe$col1col2是因素。 在這種情況下,我的newCol將始終為FALSE ,這是錯誤的,因為我以此方式進行了驗證:

mydataframe$newCol<- mydataframe[mydataframe$col1==mydataframe$col2]

我也不想使用for循環,這通常比我嘗試的慢。

我做錯了什么?

ifelse()接受返回值作為第二和第三參數(並且您正在編寫賦值)。

嘗試:

mydataframe$newCol <-
    with(mydataframe,
         ifelse(col1 == col2,
                TRUE,
                FALSE))

實際上,您不需要使用ifelse==應該滿足以下要求:

mydataframe$newCol <- with(mydataframe, col1 == col2)

它將返回一個布爾向量。

暫無
暫無

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

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