d*******1 发帖数: 854 | 1 数据是这样的(简单的例子)
gene treatment value
A drug 12
A drug 13
A vehicle 14
A vehicle 20
B drug 456
B drug 400
B vehicle 200
B vehicle 100
就是用LM()对drug和vehicle做t test, 但是有很多gene, 我知道可以用loop, 但是肯
定很慢, 用tapply可能好些, 那位给提个思路?
谢谢了。 | D******n 发帖数: 2836 | 2 lm(value~gene+treatment,data)
【在 d*******1 的大作中提到】 : 数据是这样的(简单的例子) : gene treatment value : A drug 12 : A drug 13 : A vehicle 14 : A vehicle 20 : B drug 456 : B drug 400 : B vehicle 200 : B vehicle 100
| p***r 发帖数: 920 | 3 by(data,gene,function(x) lm(value~treatment)) | d*******1 发帖数: 854 | 4 gene不是用在model里的, 是作为by variable
【在 D******n 的大作中提到】 : lm(value~gene+treatment,data)
| d*******1 发帖数: 854 | 5 这这里这个by可以用lapply什么的代替呢, 两者之间有什么区别?
【在 p***r 的大作中提到】 : by(data,gene,function(x) lm(value~treatment))
| p***r 发帖数: 920 | 6 good point, i dont know, any one have 2cent?
【在 d*******1 的大作中提到】 : 这这里这个by可以用lapply什么的代替呢, 两者之间有什么区别?
| D******n 发帖数: 2836 | 7 lapply(split(data,data$gene),function(x) lm(value~treatment,x))
【在 d*******1 的大作中提到】 : 这这里这个by可以用lapply什么的代替呢, 两者之间有什么区别?
| p***r 发帖数: 920 | 8 so lapply do apply the function to a list, but you first should have a
list, otherwise, it will just take each column as a list?
【在 D******n 的大作中提到】 : lapply(split(data,data$gene),function(x) lm(value~treatment,x))
| D******n 发帖数: 2836 | 9 it applies fun to the element of a list. so if u use it on data.frame, it ap
plies fun to each column.
【在 p***r 的大作中提到】 : so lapply do apply the function to a list, but you first should have a : list, otherwise, it will just take each column as a list?
| d*******1 发帖数: 854 | 10 那看来在我的情况下用by还是比较简单, 能不能总结下什么情况下用lapply呢?(还
有apply, sapply等等)
【在 D******n 的大作中提到】 : lapply(split(data,data$gene),function(x) lm(value~treatment,x))
| d*******1 发帖数: 854 | 11 我还想就这个算法的performance请教一下大家, 我这个数据有大概6万个gene (by
variable), 在每个基因下是一个6对6的t test,大家觉得应该用多长时间搞定。 我在
一个linux server (8 cores, 32 GB memory), 耗时3-4小时还没有搞定。会是什么问
题呢
【在 p***r 的大作中提到】 : by(data,gene,function(x) lm(value~treatment))
|
|