我想重命名一个数据帧的列(从10th列到第second last列).我的代码根本没有修改列名.
all.lesions <- data.frame(t(apply(all.lesions, 1, unlist)), check.names = FALSE)
colnames(all.lesions[10:ncol(all.lesions)-1]) <- sub('^([^.]+.[^.]+.[^.]+.[^.]+).*', '\\1', colnames(all.lesions[10:ncol(all.lesions)-1]))
colnames(all.lesions[10:ncol(all.lesions)-1]) <- substring(colnames(all.lesions[10:ncol(all.lesions)-1]), 1, nchar(colnames(all.lesions[10:ncol(all.lesions)-1]))-1)
输入:
> dput(all.lesions[1:2,c(9:16,length(colnames(all.lesions)))])
structure(list(Amplitude.Threshold = c("0: t<0.1; 1: 0.1<t< 0.9; 2: t>0.9",
"0: t<0.1; 1: 0.1<t< 0.9; 2: t>0.9"), TCGA.2K.A9WE.01A.11D.A381.01 = c(0,
0), TCGA.2Z.A9J1.01A.11D.A381.01 = c(0, 0), TCGA.2Z.A9J2.01A.11D.A381.01 = c(0,
0), TCGA.2Z.A9J3.01A.12D.A381.01 = c(0, 0), TCGA.2Z.A9J5.01A.21D.A381.01 = c(1,
1), TCGA.2Z.A9J6.01A.11D.A381.01 = c(0, 0), TCGA.2Z.A9J7.01A.11D.A381.01 = c(0,
0), X = c(NA, NA)), row.names = 1:2, class = "data.frame")
> dput(names(all.lesions)[10:ncol(all.lesions)])
c("TCGA.2K.A9WE.01A.11D.A381.01", "TCGA.2Z.A9J1.01A.11D.A381.01",
"TCGA.2Z.A9J2.01A.11D.A381.01", "TCGA.2Z.A9J3.01A.12D.A381.01",
"TCGA.2Z.A9J5.01A.21D.A381.01", "TCGA.2Z.A9J6.01A.11D.A381.01"
"X")
> class(all.lesions)
[1] "data.frame"
> typeof(all.lesions)
[1] "list"
预期输出:
[1] "TCGA.2K.A9WE.01"
[3] "TCGA.2Z.A9J1.01" "TCGA.2Z.A9J2.01"
[5] "TCGA.2Z.A9J3.01"