У меня есть большой файл data.frame, который я хочу объединить значения в столбце вместе, а затем создать новый data.frame с выходом , Поскольку у моего data.frame есть почти 1700 столбцов, я понял, что самый простой способ сделать это - пропустить столбцы. Ниже приводится пример того, что я хотел бы сделать.Пронумеруйте столбцы в data.frame и создайте новый data.frame на основе вычисления в цикле
исходные значения:
variable1 = c(var1, var2, var3)
variable2 = c(var4, var5, var6)
variable3 = c(var7, var8, var9)
df = data.frame(variable1, variable2, variable3)
ожидаемый выход:
variable1 variable2 variable3
1 var1_var2 var4_var5 var7_var8
2 var1_var3 var4_var6 var7_var9
3 var2_var3 var5_var6 var8_var9
код я использую прямо сейчас:
index = 1
column = 1
Complexes <- dim(df)[2]
proteins <- dim(df)[1]
complex <-list()
interactions <- list()
complexcol <- list()
for(i in 1:Complexes){
complex[[column]]=(for(j in 1:proteins){
for(k in j+1:proteins){
interactions[index] = c(paste0(corum[i,j],"_",corum[i,k]))
index = index +1
}
})
column = column + 1
print(column)
index = 1
}
Когда я исполняю, он перебирает через колонки , но он не генерирует вывод в новом списке или data.frame.
Спасибо!
Если значения в data.frame представляют собой текст вместо цифр, есть способ сохранить и объединить их вместе вместо цифр. Если я применим это к моим фактическим данным, он просто сообщает о конкатенированных адресах. Спасибо –
@JohnLapek похоже, что у вас на самом деле есть кадр данных с факторами вместо текста - см. Обновленный вопрос о том, как справиться с этим делом. Обычно я создаю кадры данных с помощью 'stringsAsFactors = F', чтобы избежать проблем с факторами во время перебора данных. – josliber
спасибо! это сделало трюк. –