我正在使用rugarch软件包的数据:

  library(rugarch)
  data(sp500ret)

数据如下:
head(sp500ret)
               SP500RET
1987-03-10  0.008840447
1987-03-11 -0.001892734
1987-03-12  0.003129678
1987-03-13 -0.004577455
1987-03-16 -0.005742768
1987-03-17  0.014603325


sp500retmod<-sp500ret[-c(1001:length(sp500ret[,1])),1]

但这给
head(sp500retmod)

[1]  0.008840447 -0.001892734  0.003129678 -0.004577455 -0.005742768
[6]  0.014603325

因此,删除了行名,如何获得前1000个值并保留行名,日期?

我也试过
sp500retmod<-sp500ret[-c(1001:length(sp500ret[,1])),]

但这也不起作用。

最佳答案

我认为这两项工作都可以:

d1 <- head(sp500ret, n=1000L)
rownames(d1)

d2 <- subset(sp500ret, c(1:length(SP500RET)) < 1001)
rownames(d2)

# Solution from @Penguin_Knight
d3 <- subset(sp500ret, row(sp500ret) < 1001)
rownames(d3)

08-25 02:36