简体   繁体   中英

How to merge 2 columns within the same dataset in R

I am trying to merge 2 columns within the same dataset in order to condense the number of columns.

The dataset currently looks like this:

Year Var1 Var2
2014 NA   123
2014 NA   155
2015 541  NA
2015 432  NA
2016 NA   124

etc

I wish the dataset to look like

Year Var1/2
2014 123
2014 155
2015 541 
2015 432 
2016 124

Any Help is grealty apprecitated.

You should be able to just use with(mydf, pmax(Var1, Var2, na.rm = TRUE)) .

Here's a sample data.frame . Note row 5.

mydf <- structure(list(Year = c(2014L, 2014L, 2015L, 2015L, 2016L), Var1 = c(NA, 
    NA, 541L, 432L, NA), Var2 = c(123L, 155L, NA, NA, NA)), .Names = c("Year", 
    "Var1", "Var2"), row.names = c(NA, 5L), class = "data.frame")

mydf
##   Year Var1 Var2
## 1 2014   NA  123
## 2 2014   NA  155
## 3 2015  541   NA
## 4 2015  432   NA
## 5 2016   NA   NA

with(mydf, pmax(Var1, Var2, na.rm = TRUE))
## [1] 123 155 541 432  NA

Assign it to a column and you're good to go.

can paste function help?

df$Var1/2 <- paste(df$Var1,df$Var2)

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