Unique column names for a list of data tables

I have a list of 200 data tables as shown below

 [[1]]
              SYMBOL SIGNALINTENSITY CALL  PVALUE
        1:    DDR1       1272.0796    P 0.0029235941
        2: MIR4640       1272.0796    P 0.0029235941
        3:    RFC2        501.8763    A 0.2040220548
        4:   HSPA6        721.1877    P 0.0038229257
        5:    PAX8       2807.3700    P 0.0006731656
        6:  GUCA1A        213.1593    A 0.2668473097

[[2]]
                  SYMBOL SIGNALINTENSITY CALL  PVALUE
        1:      FAM86B1        168.5479    A 0.2189832287
        2:      FAM86FP        168.5479    A 0.2189832287
        3:      FAM86B2        168.5479    A 0.2189832287
        4:      FAM86DP        168.5479    A 0.2189832287
        5: LOC100505915        773.4419    P 0.0005617505
        6:    LINC00273        670.4535    P 0.0002967575
[[3]]
                  SYMBOL SIGNALINTENSITY CALL  PVALUE
        1:      FAM86B1        168.5479    A 0.2189832287
        2:      FAM86FP        168.5479    A 0.2189832287
        3:      FAM86B2        168.5479    A 0.2189832287
        4:      FAM86DP        168.5479    A 0.2189832287
        5: LOC100505915        773.4419    P 0.0005617505
        6:    LINC00273        670.4535    P 0.0002967575

      

I want to uniquely rename the columns of the data table. As shown below, the columns are indexed at 1,2,3 based on the list order. The first column name should be the same as I need to concatenate the list by the first column.

 [[1]]
              SYMBOL SIGNALINTENSITY1 CALL1  PVALUE1
        1:    DDR1       1272.0796    P 0.0029235941
        2: MIR4640       1272.0796    P 0.0029235941
        3:    RFC2        501.8763    A 0.2040220548
        4:   HSPA6        721.1877    P 0.0038229257
        5:    PAX8       2807.3700    P 0.0006731656
        6:  GUCA1A        213.1593    A 0.2668473097

[[2]]
                  SYMBOL SIGNALINTENSITY2 CALL2  PVALUE2
        1:      FAM86B1        168.5479    A 0.2189832287
        2:      FAM86FP        168.5479    A 0.2189832287
        3:      FAM86B2        168.5479    A 0.2189832287
        4:      FAM86DP        168.5479    A 0.2189832287
        5: LOC100505915        773.4419    P 0.0005617505
        6:    LINC00273        670.4535    P 0.0002967575
[[3]]
                  SYMBOL SIGNALINTENSITY3 CALL3  PVALUE3
        1:      FAM86B1        168.5479    A 0.2189832287
        2:      FAM86FP        168.5479    A 0.2189832287
        3:      FAM86B2        168.5479    A 0.2189832287
        4:      FAM86DP        168.5479    A 0.2189832287
        5: LOC100505915        773.4419    P 0.0005617505
        6:    LINC00273        670.4535    P 0.0002967575

      

+3


source to share


1 answer


if 'lst' is a list data.table

(it seems data.table

instead data.frame

)



 library(data.table)
 lapply(seq_along(lst), function(i) setnames(lst[[i]],
          2:ncol(lst[[i]]), paste0(names(lst[[i]])[-1],i)))

 lst
 #[[1]]
 #     SYMBOL SIGNALINTENSITY1 CALL1      PVALUE1
 #1:    DDR1        1272.0796     P 0.0029235941
 #2: MIR4640        1272.0796     P 0.0029235941
 #3:    RFC2         501.8763     A 0.2040220548
 #4:   HSPA6         721.1877     P 0.0038229257
 #5:    PAX8        2807.3700     P 0.0006731656
 #6:  GUCA1A         213.1593     A 0.2668473097

 #[[2]]
 #         SYMBOL SIGNALINTENSITY2 CALL2      PVALUE2
 #1:      FAM86B1         168.5479     A 0.2189832287
 #2:      FAM86FP         168.5479     A 0.2189832287
 #3:      FAM86B2         168.5479     A 0.2189832287
 #4:      FAM86DP         168.5479     A 0.2189832287
 #5: LOC100505915         773.4419     P 0.0005617505
 #6:    LINC00273         670.4535     P 0.0002967575

 #[[3]]
 #         SYMBOL SIGNALINTENSITY3 CALL3      PVALUE3
 #1:      FAM86B1         168.5479     A 0.2189832287
 #2:      FAM86FP         168.5479     A 0.2189832287
 #3:      FAM86B2         168.5479     A 0.2189832287
 #4:      FAM86DP         168.5479     A 0.2189832287
 #5: LOC100505915         773.4419     P 0.0005617505
 #6:    LINC00273         670.4535     P 0.0002967575

      

+3


source







All Articles