[R] conditional replacement of character strings in vectors
David Winsemius
dwinsemius at comcast.net
Sat Sep 3 03:03:29 CEST 2011
On Sep 2, 2011, at 7:51 PM, R. Michael Weylandt wrote:
> Your data frame didn't come across legibly, try sending it in plain
> text
> using the dput() command.
>
> That said, I'd guess you want something like this:
>
> d[is.na(d$a),"a"] <- d[is.na(d$b),"b"]
One of the rare instances where I disagree with Michael. The row index
on the right hand side must be the same as the row index on the left
hand side.
>
> The idea is that is.na(d$a) selects only those rows where column "a"
> is NA
> and then moves b values into a for only those rows.
Right, that is the idea.
>
> Write back with the dput() data frame if this doesn't work.
>
> Hope this helps,
>
> Michael Weylandt
>
> On Fri, Sep 2, 2011 at 3:51 PM, Josh Tewksbury <tewksjj at uw.edu> wrote:
>
>> Hello, I have a dataframe that looks like this:
>>
>> a b NA Honduras China NA NA Sudan Japan NA NA Mexico NA Mexico
>> I would like to replace the NA values in column b with the non-NA
>> values in
>> column a. I have tried a number of techniques, (if, ifelse) but I
>> must
>> have
>> the logic wrong.
>>
>> Thanks
>> --
>> Josh
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list