将列名称更改应用于数据框列表,但更改未反映在原始数据框中

时间:2019-02-21 02:27:15

标签: r

我有4个数据帧,每个数据帧有5列。

> birch
           hutt.hr.date hutt.hr.BLT10m hutt.hr.BLRH hutt.hr.BLwd hutt.hr.BLws
1   2015-01-01 00:00:00      15.383333     78.02500   317.000000   4.51666667
2   2015-01-01 01:00:00      15.133333     78.08333   308.333333   3.99166667
3   2015-01-01 02:00:00      14.808333     76.60833   297.333333   3.30833333

> mssgc
           hutt.hr.date hutt.hr.MSSGCT10m hutt.hr.MSSGCRH hutt.hr.MSSGCwd hutt.hr.MSSGCws
1   2015-01-01 00:00:00          17.15000        78.03333        17.16667       2.4166667
2   2015-01-01 01:00:00          16.88333        76.45000        15.83333       1.9750000
3   2015-01-01 02:00:00          16.50833        75.63333       120.41667       1.3083333

> uhsp
           hutt.hr.date hutt.hr.UHSPT10m hutt.hr.UHSPRH hutt.hr.UHSPwd hutt.hr.UHSPws
1   2015-01-01 00:00:00        16.391667       74.24167      322.41667      3.0083333
2   2015-01-01 01:00:00        16.241667       72.95833      291.00000      2.2166667
3   2015-01-01 02:00:00        15.816667       72.35000      325.83333      3.7666667

> wbc
           hutt.hr.date hutt.hr.WBCT10m hutt.hr.WBCRH hutt.hr.WBCwd hutt.hr.WBCws
1   2015-01-01 00:00:00       15.966667      79.30833     208.33333     5.3250000
2   2015-01-01 01:00:00       15.541667      79.88333     266.33333     5.1916667
3   2015-01-01 02:00:00       15.166667      78.62500     287.33333     3.4500000

我想通过首先将所有4个数据帧放入列表中来重命名其列名,然后使用lapply重命名其列。

df < -list(birch, mssgc, uhsp, wbc)

df < -lapply(df, function(x) {
  colnames(x) < -c("date", "Temp", "RH", "Wdir10m", "Wspeed10m")
  x
})

之后,我尝试应用list2env再次取消列出列表,但是失败了。

list2env(df,.GlobalEnv)

如何更改将对原始数据帧进行更改的数据帧列表?

感谢您的时间和帮助!

0 个答案:

没有答案