如何计算R中数据框某些列的指数?
How to calculate the exponential in some columns of a dataframe in R?
我有一个数据框:
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
我想计算第三列和第四列的指数。我该怎么做?
如果您的数据框名为 dfs
,您可以执行以下操作:
dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')] <- exp(dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')])
这给你:
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
如果您知道列号,也可以使用以下方法简单地完成:
dfs[,3:4] <- exp(dfs[,3:4])
结果与上面相同。我通常更喜欢使用实际的列名,因为在进一步处理数据框时索引可能会改变(例如,我删除列,然后索引会改变)。
或者你可以这样做:
dfs$Dependent.variable.1 <- exp(dfs$Dependent.variable.1)
dfs$Forecast.Dependent.variable.1 <- exp(dfs$Forecast.Dependent.variable.1)
如果您想将这些列存储在新变量中(下面分别称为 exp1
和 exp2
),您可以这样做:
exp1 <- exp(dfs$Forecast.Dependent.variable.1)
exp2 <- exp(dfs$Dependent.variable.1)
如果您想将其应用于两列以上 and/or 使用更复杂的函数,我强烈建议您查看 apply/lappy。
这是否回答了您的问题?
我有一个数据框:
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
我想计算第三列和第四列的指数。我该怎么做?
如果您的数据框名为 dfs
,您可以执行以下操作:
dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')] <- exp(dfs[c('Dependent.variable.1','Forecast.Dependent.variable.1')])
这给你:
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
如果您知道列号,也可以使用以下方法简单地完成:
dfs[,3:4] <- exp(dfs[,3:4])
结果与上面相同。我通常更喜欢使用实际的列名,因为在进一步处理数据框时索引可能会改变(例如,我删除列,然后索引会改变)。
或者你可以这样做:
dfs$Dependent.variable.1 <- exp(dfs$Dependent.variable.1)
dfs$Forecast.Dependent.variable.1 <- exp(dfs$Forecast.Dependent.variable.1)
如果您想将这些列存储在新变量中(下面分别称为 exp1
和 exp2
),您可以这样做:
exp1 <- exp(dfs$Forecast.Dependent.variable.1)
exp2 <- exp(dfs$Dependent.variable.1)
如果您想将其应用于两列以上 and/or 使用更复杂的函数,我强烈建议您查看 apply/lappy。
这是否回答了您的问题?