简体   繁体   中英

Copying multiple columns from one data.frame to another

Is there a simple way to make R automatically copy columns from a data.frame to another?

I have something like:

>DF1 <- data.frame(a=1:3, b=4:6)
>DF2 <- data.frame(c=-2:0, d=3:1)

and I want to get something like

>DF1
   a b  c d
1 -2 4 -2 3
2 -1 5 -1 2
3  0 6  0 1

I'd normally do it by hand, as in

DF1$c <- DF2$c
DF1$d <- DF2$d

and that's fine as long as I have few variables, but it becomes very time consuming and prone to error when dealing with several variables. Any idea on how to do this efficiently? It's probably quite simple but I swear I wasn't able to find an answer googling, thank you!

The result from your example is not correct, it should be:

> DF1$c <- DF2$c
> DF1$d <- DF2$d
> DF1
  a b  c d
1 1 4 -2 3
2 2 5 -1 2
3 3 6  0 1

Then cbind does exactly the same:

> cbind(DF1, DF2)
  a b  c d
1 1 4 -2 3
2 2 5 -1 2
3 3 6  0 1

(我打算将此内容添加到Jilber现在已删除然后未删除的帖子中作为评论。)建议像这样的内容可能更安全

DF1 <- cbind(DF1, DF2[!names(DF2) %in% names(DF1)])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM