Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
293 views
in Technique[技术] by (71.8m points)

r - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

you can use ifelse like this

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...