我有一个包含每月回报及其相应月份的数据框。
Data <- read.csv("C:/Users/h/Desktop/overflow.csv", sep=";", dec=",")
Data$Date <- as.Date(as.character(Data$Date), format="%Y-%m-%d")
数据框现在看起来像这样:
> Data
Fund.A Fund.B Fund.C Fund.D
2012-01-01 -0.01 0.04 0.11 0.10
2012-02-01 -0.04 -0.06 0.08 0.11
2012-03-01 -0.04 -0.07 0.15 -0.03
2012-04-01 0.00 -0.08 -0.04 0.13
2012-05-01 -0.07 0.10 0.06 0.02
2012-06-01 -0.05 0.06 0.06 -0.02
2012-07-01 0.12 -0.06 -0.09 -0.06
2012-08-01 0.08 -0.03 0.05 0.13
2012-09-01 0.10 0.07 -0.02 0.15
2012-10-01 -0.08 0.14 0.00 -0.04
2012-11-01 -0.09 0.11 -0.07 0.12
2012-12-01 -0.01 -0.09 0.07 -0.02
现在,我想通过简单地将新回报与“数据”中的适当基金匹配来继续使用来自新 csv 的新回报的时间序列。我的问题是可能已经添加了新资产,从而打乱了订单。
import <- read.csv("C:/Users/h/Desktop/import.csv", sep=";", dec=",")
import
2013-01-01
1 Funds: NA
2 Fund A 0.04
3 Fund AA -0.09
4 Fund C -0.10
5 Fund D 0.03
6 Fund B 0.14
如您所见,“导入”csv 具有新资产(基金 AA)以及在“数据”中看到的资产(基金 a 到 D),其中资金在行中而不是列中。如何编写代码,匹配并添加一行到“数据”,其中“导入”中的值位于“数据”中的右列(基金)下?如果添加了新资产,是否为新资产创建列?
作为奖励,如果“导入”中的日期比“数据”中的最新日期更新,代码只会添加一行。只导入新的退货。
欣赏它!