[R] coalesce columns within a data frame
Erik Iverson
iverson at biostat.wisc.edu
Wed Oct 22 17:26:06 CEST 2008
Not tested, but for data.frame 'df', try
df$coal <- ifelse(!is.na(df$Name.x), df$Name.x, df$Name.y)
But see the help page for 'ifelse' regarding issues with classes, and
the myriad R-help posts on the 'ifelse' function.
Erik
Ivan Alves wrote:
> Dear all,
>
> I searched the mail archives and the R site and found no guidance (tried
> "merge", "cbind" and terms like "coalesce" with no success). There
> surely is a way to coalesce (like in SQL) columns in a dataframe,
> right? For example, I would like to go from a dataframe with two
> columns to one with only one as follows:
>
> From
>
> Name.x Name.y
> nx1 ny1
> nx2 NA
> NA ny3
> NA NA
> ...
>
> To
>
> Name
> nx1
> nx2
> ny3
> NA
> ...
>
> where column Name.x is taken if there is a value, and if not then column
> Name.y
>
> Any help would be appreciated
>
> Kind regards,
> Ivan
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list