2013-10-11 2 views
1

У меня есть кадр данных, как это:как выполнить log2 преобразование определенных столбцов в R

d <- 
read.table(header=TRUE,text=' 
     gene  0h  4h  24h  48h  72h 
1  MIB2 5.329502 5.202208 4.742011 4.8148886 2.263599 
2 SLC35E2B 6.461612 6.599991 6.464688 6.5399660 6.378209 
3 CALML6 5.200950 5.308204 5.848097 6.2346177 6.744116 
4 CALML6 5.200950 5.308204 5.848097 6.2346177 6.744116 
5 FAM213B 5.228090 5.379973 5.717725 5.7202588 6.204203 
6 PRDM16 2.981332 1.538496 1.263351 0.6315327 3.622116') 

, и я хотел бы выполнить log2 преобразование на колонке 2: 6, но сохранить информацию о первом столбце.

Я могу log преобразовать колонку 2: 6 с log(d[2:6],2), но затем я теряю информацию о генах.

ответ

6

Если вы хотите сохранить его обратно в тот же data.frame, а затем просто использовать:

d[, 2:6] <- log(d[2:6], 2) 
d 

Если вы хотите сохранить его на новый объект, первая загвоздка копию:

d.new <- d 
d.new[, 2:6] <- log(d[2:6], 2) 
d.new 

Вы также можете использовать cbind, если хотите

+0

Или вы можете использовать: 'log2 (d [2: 6])' – csgillespie

Смежные вопросы