iouraich iouraich - 4 months ago 18
R Question

How to add a factor column to dataframe based on a conditional statement from another column?

I have a dataframe for which I need to add a factor column based on a conditional statement. Here is the data.

Code:

morstats.agri.f <- moroccostats[c("year","agVA_g","agVA_ppp_g")]
morstats.agri.f


Question:

So, i want to add a column "periodframe" to the dataframe that has two entries: "pre-1991" and "post-1991" based on the condition for the column "year"?

the dataframe looks like this:

year agVA_g agVA_ppp_g
1 1960 0.00 0.000000000
2 1961 0.00 0.000000000
3 1962 0.00 0.000000000
4 1963 0.00 0.000000000
5 1964 0.00 0.000000000
6 1965 -0.13 -0.160505952
7 1966 0.09 0.065780672
8 1967 0.10 0.075941092
9 1968 -0.04 -0.064963044
10 1969 0.11 0.084530984
11 1970 0.19 0.161963328
12 1971 0.12 0.097397145
13 1972 0.19 0.160263118
14 1973 0.20 0.172040051
15 1974 0.01 -0.012005158
16 1975 0.14 0.111609284
17 1976 -0.02 -0.044823054
18 1977 0.32 0.299092259
19 1978 0.13 0.104535675
20 1979 0.20 0.171374920


etc.

Answer

you can use ifelse like this

dataframe$periodframe <- ifelse(dataframe$year > 1991,"post-1991", "pre-1991")