w***g 发帖数: 5958 | 1 嘿嘿,对啦。这是只经过一步处理的比较原生
态的microarray -- 就是一个照片!
左上角还有字。下一步就是要对着这个照片
做deep learning啦。
可惜这东西已经过时了。 |
|
x***u 发帖数: 297 | 2 这么炫的颜色倒是第一次见。
23andMe还在大量使用microarray, 不算过时。 |
|
g*****9 发帖数: 349 | 3 踢SAS的事情是听说的,我SAS用了好久年了。
FDA应该不会换R,这是听在药厂的同学说的。他自己是R的大拿,但是他说不管药厂用
什么,最后提交上去的东西FDA会用SAS运算。这个我记得非常清楚,大概三四年前吧。
SAS的visualization确实不好,感觉很土。。。可能我没有看到高端的。
用R |
|
|
e*******o 发帖数: 4654 | 5
R的厉害之处是,它是统计学家的编程语言。python 你想玩的话,可以看看 pandas,
也有R 中的dataframe。
1 和 N 的差距,比 1 和 0 的差距小的多。 |
|
z*********8 发帖数: 1203 | 6 请问在DESeq里面怎么对partially replicated的sample分析啊,我有4个组,2组有
replicates,2组没有,建完dataframe后,可以直接对没有replicate的组分析,用“
blind“,也可以对有replicates的组分析,现在我想放在一起分析,人家就报error
>cds=estimateDispersions(cds)
Error in .local(object, ...) :
None of your conditions is replicated. Use method='blind' to estimate across
conditions, or 'pooled-CR', if you have crossed factors.
请问用什么command实现啊?我看了下manual,没有看懂啊!非常感谢 |
|
m******2 发帖数: 564 | 7 那么多人都说R烂,Python好
依我看似乎半斤八两,R的核心好像管的事比Python还多些
还有pandas这个Python外围包,是用来模仿R的吗?
一上来就Dataframe
那么Python要实现R的功能,是不是得狂用包
panda, scipy, numpy齐上阵之类的。。。 |
|
p**h 发帖数: 124 | 8 不用书,把你一个中等Matlab程序换成python也就差不多了。 以下概念用熟了就好,
欢迎大家补充。
1. List comprehension,
2. Tuple, dictionary,
3. dataframe index, multiindex, melt/pivot, groupby/aggregate/apply,
4. one of plotting libs, plotly 相当好用,
5. lambda function,
6. class/inheritance, |
|
l*****k 发帖数: 587 | 9 newbie question:
I read in a dataframe using R
some characteristics are related to sample
some characteristics are related patient, since patients have multiple
samples taken, patient_ID column has duplicates.
I wonder if there is an easy way to plot certain characteristics by
patient_ids, using histogram... |
|
D******n 发帖数: 2836 | 10 什么叫做改个变量名?
用names不就搞定了吗,如果你要改dataframe里面的变量名.
啊。 |
|
q****o 发帖数: 37 | 11 very easy for R.
df is the dataframe of your data, second column is the factor you want to do
statistics
table(df[,2]) |
|
j*****l 发帖数: 73 | 12 数据:
attraction.txt
自变量:
State: 1 = iowa
2 = colorado
3 = california
4 = washington
5 = new york
Attraction type:
1 = park
2 = zoo
3 = cave
4 = montain
5 = museum
6 = recreation park
.
11 = others
payment: 0 = visitor has not to pay
1 = visitor has to pay
visitor: number of paying visitor in 2008
Question:
1. We restrict the dataframe to attraction (5, 7, 8, 10). In |
|
D******n 发帖数: 2836 | 13 有一个dataframe叫data,里面有三列叫 id,x,y
怎么样比较快的算出每个id的cor(x,y) |
|
d*******1 发帖数: 854 | 14 有一个dataframe, 几百个column, 准备用RESHAPE TRANSPOSE一下(只有头两个
VARIABLE 还保留在结果的TABLE里, 剩下的column都要压缩成一条COLUMN, 但是好象要
用VARYING=来规定所要压缩的COLUMN位置, 怎么用R先把要压缩的VARIABLE的启示和终
止位置抓到呢? |
|
d*******1 发帖数: 854 | 15 MM也是新手把, 咱们共同进步. 不过我大胆点评一下你的思路, 你的程序好象是头疼医
头,连column 和ROW的数目都要手工输入,这样每处理一个DATAFRAME还要打开看看, 这
样就太慢的, 降低了程序的功用(当然你也可以用R自动读出DIMENSIONALITY,如果这样
更快的话就当我没说) .写程序重要的是要GENERIC, 处理一行数据和处理1万行数据,
根本就不需要改程序..... |
|
d*******1 发帖数: 854 | 16 有一个dataframe, 很多column, 想对任意一对column做scatter plot.
比如 plot(data$columnXXXXX, data$columnYYYYY)
但是每次命名column太麻烦了, 就想到用下面这个办法
plot(names(data)[2], names(data)[3]), 但是不work
又变成plot(data$names(data)[2],data$names(data)[3]). 还是不work,
有没有大侠给提个思路? |
|
l****x 发帖数: 58 | 17 问一个R的问题
从一个dataframe里选择满足条件的纪录,比如:
newdata=olddata[olddata$A="test",]
结果在newdata中出现很多NA的行,是整行都是NA, 象下面这样:
aa OrigID ID sourceID TRT name length hei
wid
NA NA NA NA
NA
NA.1 NA NA NA
NA
NA.2 NA NA NA
NA
NA.3 NA NA NA
N |
|
d*******1 发帖数: 854 | 18 比如:
ID1 ID2 var1 var2 var3
A 1 10 44 1
A 1 10 44 2
A 2 11 3 3
A 2 11 3 4
B 3 12 4 5
B 3 12 4 6
B 4 20 10 7
作为一个DATAFRAME, 转化成如下:
ID1 ID2 var1 var2 var3
A 1 10 44 1
A 2 11 3 3
B 3 12 4 5
B 4 20 10 7
换句话说, var1 and var2 的值对每一个ID1xID2都是unique的, var取第一个值就可
以了。
用了aggregate好像不赶趟:
test<-aggregate(data[,3:4], list(data[,1:2]), mean)
Error in sort.list(y) :
'x' must be atomic for 'sort.li |
|
d*******1 发帖数: 854 | 19 我的数据是这样:
dataframe: fm:
name
xxx_yyy_24hr_1
xxx_yyy_24hr_2
xxx_yyy_48hr_1
xxx_yyy_48hr_2
split<- strsplit(fm$name,'_')
这样每一行产生四个元素, 假设原来的DATA 一共100行, 我用unlist就会产生4X100
元素, 所以用 unlist(split)[3]就把24hr 赋值给所有rows了。 必须这样:
fm$time<- unlist(split)[c(3,7,11,15......)]
但是我的总行数一般是开始不知道的, 怎么办呢?
谢谢了 |
|
d*******1 发帖数: 854 | 20 目的就是把三个TXT文件读到day1 day2 day3 三个dataframe里去,但是一个也读不进
去, 怎么回事。
setwd(‘XXXXXXXXX')
t<-c('eIF4E-Cap_TL_Run-1_031810.txt','eIF4E-Cap_TL_Run-2_031910.txt','eIF4E-
Cap_TL_Run-3_031910.txt')
name<- paste('day',c(1:3),sep='')
for (i in 1:3) {
name[i]<- read.table(t[i], sep="\t", header=TRUE)
} |
|
D******n 发帖数: 2836 | 21 data$random <- apply(data,1,function(x) rnorm(1,x[1],x[2])); |
|
c*******o 发帖数: 8869 | 22 thank, how about the following, can you judge it? I just come up with it
not sure if it produceS right answer:
random<- rnorm(length(data$mean),mean=data$mean, sd=data$STD). It takes long time to run and has not been complete yet. I will test yours once it is done..... |
|
d*******1 发帖数: 854 | 23 can you be more specific on the first step? thanks |
|
l*********s 发帖数: 5409 | 24 for instance,
totn <- 100
tmpdflst <- NULL
dfnames <- paste("tmp", 1:totn, sep="_")
for(i in 1:totn){
tmpdflst[[ dfnames[i] ]] <- ... ( whatever generates your series of df )
}
attach(tmdflst) if you want to save some keystrokes ( bad practice though) |
|
a********s 发帖数: 188 | 25 I recommend this way, using "assign" function:
iter <- 10
dtname <- paste("test", 1:iter, sep="")
for(i in 1:iter){
temp <- data.frame(x = 1:10, y = rnorm(10))
assign(dtname[i], temp)
} |
|
d*******1 发帖数: 854 | 26 that is a great solution, thank you man! |
|
|
d*********k 发帖数: 1239 | 28 用了dataframe啊,然后 dim() 给我的是3*4矩阵,我可以改colnames和rownames,这
个没有问题
但是怎么给最开始的一列(暂且叫0列,也就是rownames)加个名字呢?就是rownames
()表示的是年份1990,1991,1992,我想在最左上角加个名字
不知道我解释清楚我想干嘛了没有~~ 谢谢啦 |
|
t**c 发帖数: 539 | 29 来自主题: Statistics版 - 急求R问题 arcof1是list,不是dataframe,不能直接一起write.table吧。
可以用一个循环,把结果一个一个输出:
nb.patient <- length(arcof1)
out_file <- file("C:/file.csv", open="a")
for (i in 1:nb.patient){
write.table(t(arcof1[[i]]), file=out_file, sep=",", col.names=FALSE, row.
names=FALSE)}
close(out_file) |
|
D******n 发帖数: 2836 | 30 為啥在R裏面的model object都那麼大? 譬如lm(),glm(),rpart()等等的object,是不
是因為把modeling的dataframe也帶上了? 真煩人啊。有沒有辦法保存的這些objects
的時候不把modeling data帶上?
承接上面討論R代替SAS,下面我就列出一些R煩人的地方。
1)做一件事很多packages,不統一。各有個各好,可是都不是很好。同時也造成
documentation慘不忍睹。
2) 作為一個高級語言,沒有良好的 pass by reference 機制。
3)很難debug。
4)沒有很好的報表工具。
5)處理大數據還是個問號。 |
|
r*****e 发帖数: 264 | 31 这不是数据变形,而是order吧
suppose your dataframe is dd:
dd[with(dd, order(id, time)), ]
note: 降序用-id |
|
P*****s 发帖数: 758 | 32 这个很有意思,是为什么呢?是不是matrix在R底层存储的是连续的内存块,而
dataframe用的是列列分别存储? |
|
|
f*******n 发帖数: 2665 | 34 我刚开始学R,知道的class也就有dataframe, list之类的,下面的pred(pred <-
prediction())是什么class类型?
> class(pred)
[1] "prediction"
attr(,"package")
[1] "ROCR" |
|
|
n*****3 发帖数: 1584 | 36 mget the list of dataframe by regular expression
then Reduce this list with rbind
,7 |
|
a*****i 发帖数: 1045 | 37 ulica="Powiat Chełmski"
df=data.frame("Powiat Chełmski")
df
一个数据是这样的,貌似是其他语言的字符。
转到data.frame就成了这样了:Powiat Chemski
不知道有什么方法可以改过来到原来的 |
|
S******y 发帖数: 1123 | 38 You could create Dummy Variables in R -
#Generate example dataframe with character column
example <- as.data.frame(c("A", "A", "B", "F", "C", "G", "C", "D", "E", "F"))
names(example) <- "strcol"
#For every unique value in the string column, create a new 1/0 column
#This is what Factors do "under-the-hood" automatically when passed to
#function requiring numeric data
for(level in unique(example$strcol)){
example[paste("dummy", level, sep = "_")] <- ifelse(example$strcol ==
level, 1, 0)
} |
|
发帖数: 1 | 39 Using R:
data: #data is dataframe
ID Index
A 11
B 1 & 8
C 2, 3, 10
D 5 7
E 7 and 8
then:
#extract number from string
string2vector<-unname(sapply(data$Index,function(x) as.numeric(unlist(
regmatches(x,gregexpr("[0-9]+",x))))))
#get counts of the numbers in string
len_vector<-sapply(string2vector,length)
new_data<-data.frame(ID=rep(data$ID,len_vector),Index=unlist(string2vector))
new_data: #new_data is your expect
ID Index
1 A 11
2 B 1
3 B 8
4 C 2... 阅读全帖 |
|
x******m 发帖数: 736 | 40 这个没办法,R就是慢。R在出来table的时候,后台会有很多enviromental variables
,所以会很慢。况且你是100m row的data,也不小了,好奇你是怎么读到R里面的?
既然都会R了,就试试python吧,很简单的,几行就能搞定。 |
|
|
|
S******y 发帖数: 1123 | 43 Python is the way to go
You can load your smaller file into a dictionary first... |
|
g*r 发帖数: 67 | 44 长的数据100m行不是读入,而是在R里面生成的。
短的数据才是从外部文件导入的。
想把两者合并。
variables |
|
B*O 发帖数: 105 | 45 用match比较快。
> long =data.frame(a=seq(1,1000000), b=rnorm(10) )
> short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
> system.time(merge(x=long, y=short, all.x=T))
user system elapsed
7.253 0.071 7.385
> system.time(long$c<-rep(as.numeric(NA),dim(long)[1]))
user system elapsed
0.002 0.000 0.001
> system.time(long$c[match(short$a,long$a)]<-short$c)
user system elapsed
0.119 0.000 0.119 |
|
g*r 发帖数: 67 | 46 出于力求“简单统一”的考虑,不想调用其他程序。(比如换到windows下跑,就需要
先安装python了)
试了一下大家的另外两个建议。
data.table是个好东西,瞬间完成!match稍慢,但可以接受。 |
|
s*********e 发帖数: 1051 | 47 try sqldf with index. there is no overhead for data table conversion. |
|
r********n 发帖数: 7441 | 48 这种简单查找型 merg 显然是用 awk 比较快了 |
|
|
w********m 发帖数: 1137 | 50 据说比RDD能显著提高速度。三月份release。
有意思,以后,线下用python pandas写的码可以直接丢到spark上面做分布计算了。 |
|