मेरा एक चर नाम है a

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

दृष्टांत 1

अगर ए <0 तो बी = 'एएसडी'

मैंने नीचे दिए गए कोड का उपयोग किया है

i1 <- a <0

b[i1] <-"asd"


b
asd
asd
asd
na
na
na

परिदृश्य 2 यदि a >0 c

मैंने नीचे दिए गए कोड का इस्तेमाल किया:

i1 <-a >0 

c[i1] <-"sdx"

c
na
na
na
na
sdx
sdx
sdx

अब मुझे एक वैरिएबल d चाहिए जो b और c . दोनों को मिलाएगा

d
asd
asd
asd 
sdx
sdx
sdx

मैं नहीं कर पा रहा हूँ। मैं केवल a<0 या a >0 . को ही संसाधित कर सकता/सकती हूं

r
0
12345 25 मई 2016, 16:10

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])
1
pmavuluri 25 मई 2016, 16:28