Skip to content

combining strings

5 messages · Erin Hodgess, Joshua Wiley, Richard M. Heiberger +2 more

#
Dear R People:

Suppose I have the following two character vectors:

 xf
 [1] "W" NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
[1] NA  "k" "h" NA  "g" "r" "j" NA  "v" "d" NA  "v" NA  "z" "r" "r" "i"
I want to end up with

"W" "k" "h" ...

What is the best way to achieve this, please?  I was thinking that if
there is an exclusive "or" that it might work.  I've tried all kinds
of ifs, and ifelse, to no avail.


Thanks,
Erin
#
Hi,

You did not specify what assumptions you can make about xf and xg
(such as will they have identical lengths and is it possible both
could contain nonmissing values in the same element?), but this seems
a straightforward approach in your little example:

index <- is.na(xf)
xf[index] <- xg[index]

HTH,

Josh
On Thu, Jun 16, 2011 at 6:59 PM, Erin Hodgess <erinm.hodgess at gmail.com> wrote:

  
    
#
You don't say what happens if both arrays have non-missing entries, but
assuming that doesn't happen:
[1] "W" "k" "h" NA  "g" "r" "j" NA  "v" "d" NA  "v" NA  "z" "r" "r" "i"

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Erin Hodgess
Sent: Thursday, June 16, 2011 8:59 PM
To: R help
Subject: [R] combining strings

Dear R People:

Suppose I have the following two character vectors:

 xf
 [1] "W" NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
[1] NA  "k" "h" NA  "g" "r" "j" NA  "v" "d" NA  "v" NA  "z" "r" "r" "i"
I want to end up with

"W" "k" "h" ...

What is the best way to achieve this, please?  I was thinking that if
there is an exclusive "or" that it might work.  I've tried all kinds
of ifs, and ifelse, to no avail.


Thanks,
Erin
#
What do you want to happen when both are NA? what do you want to happen if both have values?