I would like to fill in a new column with one of two values if a pattern is matched.
Here is my data frame:
df <- structure(list(loc_01 = c("apis", "indu", "isro", "miss", "non_apis",
"non_indu", "non_isro", "non_miss", "non_piro", "non_sacn", "non_slbe",
"non_voya", "piro", "sacn", "slbe", "voya"), loc01_land = c(165730500,
62101800, 540687600, 161140500, 1694590200, 1459707300, 1025051400,
1419866100, 2037064500, 2204629200, 1918840500, 886299300, 264726000,
321003900, 241292700, 530532000)), class = "data.frame", row.names = c(NA,
-16L), .Names = c("loc_01", "loc01_land"))
And looks like this...
loc_01 loc01_land
1 apis 165730500
2 indu 62101800
3 isro 540687600
4 miss 161140500
5 non_apis 1694590200
6 non_indu 1459707300
7 non_isro 1025051400
8 non_miss 1419866100
9 non_piro 2037064500
10 non_sacn 2204629200
11 non_slbe 1918840500
12 non_voya 886299300
13 piro 264726000
14 sacn 321003900
15 slbe 241292700
16 voya 530532000
I would like to add a column to df
, called 'loc_01'. If loc_01 contains non, then return 'outside', if it does not contain non, then return 'inside'. This is my ifelse statement, but I'm missing something because it only returns the false
value.
df$loc01 <- ifelse(df$loc_01 == "non", 'outside', 'inside')
And the resulting df...
loc_01 loc01_land loc01
1 apis 165730500 inside
2 indu 62101800 inside
3 isro 540687600 inside
4 miss 161140500 inside
5 non_apis 1694590200 inside
6 non_indu 1459707300 inside
7 non_isro 1025051400 inside
8 non_miss 1419866100 inside
9 non_piro 2037064500 inside
10 non_sacn 2204629200 inside
11 non_slbe 1918840500 inside
12 non_voya 886299300 inside
13 piro 264726000 inside
14 sacn 321003900 inside
15 slbe 241292700 inside
16 voya 530532000 inside
Thanks
-al
See Question&Answers more detail:
os