2016-12-16 156 views
0

例如,我有三个数据帧A1,A2,A3在一个列表CR:替换在一个列表中的数据帧与新的数据帧

a1 <- data.frame(x=c(1,2), y=c(2,3)) 
a2 <- data.frame(x=c(3,4), y=c(4,5)) 
a3 <- data.frame(x=c(5,6), y=c(6,7)) 
c <- list(a1, a2, a3) 

现在我有一个新数据帧B1。我想将c中的a1替换为b1。

b1 <- data.frame(x=c(7,8,9), y=c(8,9,10)) 

我试图使用c[1] <- b1,这是行不通的。 c <- list(b1, a2, a3)会做我想做的,但有没有更好的方法来做到这一点?

回答

0

您需要使用double而不是单个括号。

a1 <- data.frame(x=c(1,2), y=c(2,3)) 
a2 <- data.frame(x=c(3,4), y=c(4,5)) 
a3 <- data.frame(x=c(5,6), y=c(6,7)) 
c <- list(a1, a2, a3) 
b1 <- data.frame(x=c(7,8,9), y=c(8,9,10)) 

c[[1]] <- b1 
c 
[[1]] 
    x y 
1 7 8 
2 8 9 
3 9 10 

[[2]] 
    x y 
1 3 4 
2 4 5 

[[3]] 
    x y 
1 5 6 
2 6 7 

This thread给出托架用法的说明。