简体   繁体   中英

How to calculate the exponential in some columns of a dataframe in R?

I have a dataframe:

X   Year    Dependent.variable.1    Forecast.Dependent.variable.1
1   2009    12.42669703             12.41831191
2   2010    12.39309563             12.40043599
3   2011    12.36596964             12.38256006
4   2012    12.32067284             12.36468414
5   2013    12.303095               12.34680822
6   2014    NA                      12.32893229
7   2015    NA                      12.31105637
8   2016    NA                      12.29318044
9   2017    NA                      12.27530452
10  2018    NA                      12.25742859

I want to calulate the exponential of the third and fourth columns. How can I do that?

In case your dataframe is called dfs , you can do the following:

dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')] <- exp(dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')])

which gives you:

    X Year Dependent.variable.1 Forecast.Dependent.variable.1
1   1 2009               249371                      247288.7
2   2 2010               241131                      242907.5
3   3 2011               234678                      238603.9
4   4 2012               224285                      234376.5
5   5 2013               220377                      230224.0
6   6 2014                   NA                      226145.1
7   7 2015                   NA                      222138.5
8   8 2016                   NA                      218202.9
9   9 2017                   NA                      214336.9
10 10 2018                   NA                      210539.5

In case you know the column numbers, this could then also simply be done by using:

dfs[,3:4] <- exp(dfs[,3:4])

which gives you the same result as above. I usually prefer to use the actual column names as the indices might change when the data frame is further processed (eg I delete columns, then the indices change).

Or you could do:

dfs$Dependent.variable.1 <- exp(dfs$Dependent.variable.1)
dfs$Forecast.Dependent.variable.1 <- exp(dfs$Forecast.Dependent.variable.1)

In case you want to store these columns in new variables (below they are called exp1 and exp2 , respectively), you can do:

exp1 <- exp(dfs$Forecast.Dependent.variable.1)
exp2 <- exp(dfs$Dependent.variable.1)

In case you want to apply it to more than two columns and/or use more complicated functions, I highly recommend to look at apply / lappy .

Does that answer your question?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM