r - For循环重命名许多对象的列名R
问题描述
我正在寻找一种方法来使用 for 循环或 R 中的其他方法重命名多个对象的列。最终,我希望能够将每个 Stock 对象的行绑定到一个大数据框中,但由于列不同而不能名字。下面的例子:
AAPL <-
Date AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted Stock pct_change
2020-05-14 304.51 309.79 301.53 309.54 39732300 309.54 AAPL 0.61
2020-05-15 300.35 307.90 300.21 307.71 41561200 307.71 AAPL -0.59
GOOG <-
Date GOOG.Open GOOG.High GOOG.Low GOOG.Close GOOG.Volume GOOG.Adjusted Stock pct_change
2020-05-14 1335.02 1357.420 1323.910 1356.13 1603100 1356.13 GOOG 0.50
2020-05-15 1350.00 1374.480 1339.000 1373.19 1705700 1373.19 GOOG 1.26
对于这个示例,我有 2 个对象(AAPL 和 GOOG),但实际上我会使用更多对象。我可以创建一个for循环来遍历每个对象,并将每个对象的第二列重命名为“打开”,将第三列重命名为“高”,将第四列重命名为“低”,......等等,然后我可以绑定所有这些对象在一起?
我已经有一个名为“Stock”的列,所以我不需要列名的 Ticker 部分。
解决方案
如果您可以保证这些列的顺序,则应该这样做:
for(df in list(AAPL, GOOG))
colnames(df) <- c("Date", "Open", "High", "Low", "Close", "Volume", "Adjusted", "Stock", "pct_change")
推荐阅读
- java - ':processDebugResources'. > java.nio.charset.MalformedInputException: Input length = 1' Gradle error
- xen - 如何在 XEN 启动时创建自己的 CPU 池
- artifactory - Alter an already published build
- c# - 从 App.Config 设置中引用 NLog 变量
- python - 使用 Python 进行 POST/POLL/GET
- laravel - Laravel: Function name must be a string
- java - Unable to parse JSON, Showing error message "JSONObject["other"] not found"
- javascript - How can I compute and display on browser elapsed time between 2 HTML requests generated on J2EE/JSF server?
- c# - Is there any OnTimeSetUp attribute which accepts parameters in NUnit?
- javascript - Compact data structures for JSON time-series data