2

我正在尝试将一行附加到 R 中的现有数据框。数据框代表一个主题,我想用新(生成的)数据更新它。当我运行它时,数据框的索引号变得奇怪:

1、2、21、211、2111、21111等

这些都不实用。如何获得“正常”的索引号?(1、2、3、4 等)。

x <- 10
y <- 463
dat <- data.frame(x,y)

for (i in 1:10) {
dat.sub <- dat[nrow(dat),]       # select the last row from 'dat'
dat.sub <- within(dat.sub, {     # within that selection update the objects
    x <- x+1
    y <- y+1
})
dat <- rbind(dat, dat.sub, deparse.level = 2)   # attach updated row to the 'dat'
}

dat
dat[3,]
4

1 回答 1

0

我认为问题是dat.subdata.frame类并且在第二行之后具有相同的索引号。最简单的方法是更改​​类dat.sub而不分配任何索引。一种方法是:

dat.sub <- c(within(dat.sub, {     # within that selection update the objects
    x <- x+1
    y <- y+1
}))

c在你的for循环中添加一个,dat.sub作为一个向量。

于 2012-10-21T15:00:11.987 回答