R列表中所有数据帧中的gsub列名

R列表中所有数据帧中的gsub列名,r,list,lapply,gsub,R,List,Lapply,Gsub,我有一个带有列名的数据帧列表,我想替换掉一些字符串,但我做不好 list: [1] cpg value.TCGA.06.5415.01A value.TCGA.02.0003.01A value.TCGA.16.1062.01A cg02726808 0.934641544 NA NA cg04243127 0.8828403 NA NA [2] cpg value.TCGA.QH.A6CV.01A value.TCGA.E1.A7Z4.01A value.TCGA.

我有一个带有列名的数据帧列表,我想替换掉一些字符串,但我做不好

list:
[1]
cpg value.TCGA.06.5415.01A     value.TCGA.02.0003.01A   value.TCGA.16.1062.01A
cg02726808  0.934641544 NA  NA
cg04243127  0.8828403   NA  NA
[2]
cpg value.TCGA.QH.A6CV.01A  value.TCGA.E1.A7Z4.01A  value.TCGA.E1.5303.01A
 cg02726808 0.938556343 0.92163563  0.959269597
 cg04243127 0.886928811 0.842963126 0.937700666
[N]
.....

Desired output:
    list:           
[1]         
cpg 06.5415.01A 02.0003.01A 16.1062.01A
cg02726808  0.934641544 NA  NA
cg04243127  0.8828403   NA  NA
[2]         
cpg QH.A6CV.01A E1.A7Z4.01A E1.5303.01A
cg02726808  0.938556343 0.92163563  0.959269597
cg04243127  0.886928811 0.842963126 0.937700666
[N]         
.....
我试着写以下内容:

lapply(lst, function(x) { gsub("value.TCGA.", "", colnames(lst[[x]]))})
R Studio中的错误:

Error in llis1[[xy]] : invalid subscript type 'list'
Called from: is.data.frame(x)
Browse[1]> 
我不明白这是怎么回事。谢谢你的帮助。

试试看

lapply(lst, function(x) {
  colnames(x) <- gsub("value.TCGA.", "", colnames(x))
  return(x)
})
lappy(lst,函数(x){

colnames(x)我们可以使用
setNames
将列名替换为
sub
中的新列名

lapply(lst, function(x) setNames(x, sub("value.TCGA.", "", names(x))))

或者,如果“value.TCGA.”位置在除第一列以外的所有列名中都相同,则另一个选项是
substring

lapply(lst, function(x) setNames(x, c("cpg", substring(names(x)[-1], 12)))