I Need to have a blank observation after each row in r using dataframe? -


this question has answer here:

output getting in dataframe

col1 col2 col3 col4 abc        25    35 abc  asd   25    45 def        15    36 erf        23    69 erf  asd   25    36 erf  dfg   85    78 

convert this

 1. col1 col2 col3 col4     2.    3. abc        25    35   4. abc  asd   25    45   5. abc  def   15    36  6.    7. def erf   23    69   8.  8. erf asd   25    36  9. erf dfg   85    78   10 erf fgh   78    89 

i need blank observation @ 2 6 , 8. there option?

if assume col1 , col2 of class character, quick solution be

res <- do.call(rbind, lapply(split(df, df$col1), function(x) rbind("", x))) row.names(res) <- null res #   col1 col2 col3 col4 # 1                     # 2  abc        25   35 # 3  abc  asd   25   45 # 4                     # 5  def        15   36 # 6                     # 7  erf        23   69 # 8  erf  asd   25   36 # 9  erf  dfg   85   78 

or using data.table package (which doesn't assume character class necessarily)

library(data.table) setdt(df)[df[, c(na, .i), = col1]$v1] #    col1 col2 col3 col4 # 1:   na   na   na   na # 2:  abc        25   35 # 3:  abc  asd   25   45 # 4:   na   na   na   na # 5:  def        15   36 # 6:   na   na   na   na # 7:  erf        23   69 # 8:  erf  asd   25   36 # 9:  erf  dfg   85   78 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -