У меня есть фрейм данных:
df = read.table(text="race Chr1 Chr08 Chr11 rep1 rep2 rep3 rep4 rep5
race1 P54 P88 P54 151 142 267 127 161
race1 P54 P88 P88 131 203 120 300 223
race1 P54 P54 P88 165 271 73 170 241
race1 P54 P54 P54 206 235 76 67 159", header=T, stringsAsFactors=F)
Я хотел бы добавить имя столбца в качестве префикса для столбцов 2: 4, я попытался «вставить» в цикл или применить. либо не работает.
for (i in 2:4){
df[i] <- paste(names(df[i]),df[i],sep=".")}
или
df[2:4] <- apply(df[2:4],2, function(x) paste(colnames(x),x, sep="."))
Ожидаемый результат:
result = read.table(text="race Chr1 Chr08 Chr11 rep rep2 rep3 rep4 rep5
race1 Chr1.P54 Chr08.P88 Chr11.P54 151 142 267 127 161
race1 Chr1.P54 Chr08.P88 Chr11.P88 131 203 120 300 223
race1 Chr1.P54 Chr08.P54 Chr11.P88 165 271 73 170 241
race1 Chr1.P54 Chr08.P54 Chr11.P54 206 235 76 67 159", header=T, stringsAsFactors=F)
Спасибо за помощь.