2016-05-25 6 views
0

二つvaraiblesを合わせIはvaraible名前を持つR

a 
-1 
-1 
-1 
-1 
5 
6 
7 

シナリオ1

場合< 0次にB =「ASD

iはコードの下に使用

i1 <- a <0 

b[i1] <-"asd" 


b 
asd 
asd 
asd 
na 
na 
na 

シナリオ2 a> 0の場合

私はコードの下に

i1 <-a >0 

c[i1] <-"sdx" 

c 
na 
na 
na 
na 
sdx 
sdx 
sdx 

を使用

今私は行うことができません

d 
asd 
asd 
asd 
sdx 
sdx 
sdx 

bとc Iamの両方を結合しますvaraibles dをしたいです。私は< 0またはA> 0

答えて

1

あなたはそれを一度に取得することができ、

abcd <- data.frame(abc=c(-1, -1, -1, -1, 5, 6, 7)) 
abcd$dvar <- ifelse(abcd$abc<0, "asd", "sdx") 
abcd 
    abc dvar 
1 -1 asd 
2 -1 asd 
3 -1 asd 
4 -1 asd 
5 5 sdx 
6 6 sdx 
7 7 sdx 

それともこれは次のようになります長い方法のいずれかを処理することができます

abcd$acond <- ifelse(abcd$abc<0, "asd", 0) 
abcd$bcond <- ifelse(abcd$abc>0, "sdx", 0) 
abcd$newvar <- c(abcd$acond[1:4], abcd$bcond[5:7]) 
関連する問題