Home > Enterprise >  How to transfer a column from a dataset sharing the same one with another one
How to transfer a column from a dataset sharing the same one with another one

Time:08-07

I have two versions of datasets sharing the same columns (more or less). Let's take as an example

db = airquality
db1 = airquality[,-c(6)]
db1$Ozone[db1$Ozone < 30] <- 24
db1$Month[db1$Month == 5] <- 24

db
db1

If I would like to transfer two columns 'Ozone' and 'Wind' from the dataset 'db1' to the 'db' dataset by writing a code using the pipe operator %>% or another iterative method to achieve this result, which code you may possibly suggest?

Thanks

CodePudding user response:

You csn do:

library(dplyr)

db1 %>% 
  select(Ozone, Wind) %>% 
  bind_cols(db)

Note that in this example, since some column names will be duplicated in the final result, dplyr will automatically rename the duplicates by appending numbers to the end of the column names.

CodePudding user response:

Base R:

cbind(db, db1[,c(1,3)])
   Ozone Solar.R Wind Temp Month Day Ozone Wind
1      41     190  7.4   67     5   1    41  7.4
2      36     118  8.0   72     5   2    36  8.0
3      12     149 12.6   74     5   3    24 12.6
4      18     313 11.5   62     5   4    24 11.5
5      NA      NA 14.3   56     5   5    NA 14.3
6      28      NA 14.9   66     5   6    24 14.9
7      23     299  8.6   65     5   7    24  8.6
8      19      99 13.8   59     5   8    24 13.8
9       8      19 20.1   61     5   9    24 20.1
10     NA     194  8.6   69     5  10    NA  8.6
11      7      NA  6.9   74     5  11    24  6.9
12     16     256  9.7   69     5  12    24  9.7
.
.
.
  • Related