如何添加新列,并根据R中的其他列变量填充变量?

时间:2014-09-20 19:23:04

标签: r rstudio

我很感激能得到的任何帮助。

我有一个我已经创建的数据集,我需要采取"总回报变化"来自表格的变量" spReturns"根据退货年份,将其作为新列添加到" relativeTable"中。问题在于,每个回报都需要附加相同的年份" in" relativeTable"。因此,例如,在relativeTable中使用" year" 1989年,应该有一个新的回归列,与#34; Total Return Change"相匹配。在这种情况下,每个"年"从1989年开始,1989年的回报率为0.1661,其中" spReturn"表。我完全不知道如何解决这个问题,所以我感谢你能得到的任何帮助。

require(Quandl)
require(lubridate)
require(zoo)
require(xts)

myData <- load(url("http://bit.ly/dasi_gss_data"))
myData <- myData

year <- gss$year
finSat <- gss$satfin

relativeTable <- data.frame(year, finSat)
relativeTable <- subset(relativeTable, year > "1988" & !is.na(finSat))


spReturns <- Quandl("SANDP/ANNRETS", trim_start="1970-01-11", 
                    trim_end="2012-12-31", authcode="nwy3a_Gmd7TSS9fVirxT", 
                    collapse="annual")

percentChange <- spReturns$"Total Return Change"

spReturns$"Year Ending" <- format((spReturns$"Year Ending"), "%Y")
spReturns$"Year Ending" <- as.numeric(spReturns$"Year Ending")
spReturns$"Year Ending" <- spReturns[,1] + 1 #the following year

1 个答案:

答案 0 :(得分:1)

combined <- merge(relativeTable, spReturns, by.x = "year", by.y = "Year Ending")