[英]how to use ifelse on a data frame
我是R語言的初學者,我試圖了解ifelse
工作原理。
我嘗試了一些簡單的方法:
ifelse(mydataframe$col1==mydataframe$col2 ,
mydataframe$newCol<-TRUE,
mydataframe$newCol<-FALSE
)
mydataframe$col1
和col2
是因素。 在這種情況下,我的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.