2016-12-16 154 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給出托架用法的說明。