0

Hello I have something like :

head(GC)
scaffold_1_0 scaffold_1_1 scaffold_1_2 scaffold_1_3 scaffold_1_4 scaffold_2_0 
   0.2724118    0.2747212    0.2770053    0.3061377    0.2905548    0.2865044

in R

class(GC)
"numeric"

I guess it is a list ?

and I would liek to change it as a dataframe

I tried :

data.frame(GC) but I get only one column instead of two

                    GC
scaffold_1_0 0.2724118
scaffold_1_1 0.2747212
scaffold_1_2 0.2770053
scaffold_1_3 0.3061377
scaffold_1_4 0.2905548
scaffold_2_0 0.2865044

I would like to get :

scaffolds    GC
scaffold_1_0 0.2724118
scaffold_1_1 0.2747212
scaffold_1_2 0.2770053
scaffold_1_3 0.3061377
scaffold_1_4 0.2905548
scaffold_2_0 0.2865044
chippycentra
  • 3,396
  • 1
  • 6
  • 24
  • 1
    `data.frame(scaffolds=names(GC),GC)` – user2974951 Oct 15 '20 at 07:50
  • you can use `stack(GC)`. – Ronak Shah Oct 15 '20 at 08:01
  • 1
    If you have a data.frame you can use tidyr library `dt <- data.frame(A = 1, B = 2, C = 3, D = 4); tidyr::gather(dt, key = "letters", value = "numbers")` or data.table: `dt <- data.table(A = 1, B = 2, C = 3, D = 4); data.table::melt(data = df, variable.name ='letters', value.name = 'numbers')` If you have a list: `df_list <- list(A = 1, B = 2, C = 3, D = 4); df <- unlist(df_list)` – K. Peltzer Oct 15 '20 at 08:30

0 Answers0