Я написал функцию, которая берет первые 50 результатов из списка на основе рангов.
myfunction <- function(x){
...selects the top 50 results
return(the top 50 results)
Если вам нужна точная функция, я могу добавить больше деталей.
В идеале я хотел бы, чтобы функция сохраняла список 50 лучших как новый data.frame, автоматически включая имя ввода, например:
'x'_top_50
Так что я Можно многократно использовать функцию, и она автоматически сохраняет выходные данные для последующего использования.
Любая помощь будет отличной, спасибо!
РЕДАКТИРОВАТЬ
Это вот что я получил из первого ответа:
t50<-function(x){
m101mb<-x[,1:2]
m101ts<-x[,3:4]
incommon<-intersect(m101mb$mb_gs,m101ts$ts_gs)
df1<-m101mb[m101mb$mb_gs %in% incommon,]
df2<-m101ts[m101ts$ts_gs %in% incommon,]
df3<-df1[order(df1$mb_gs),]
df4<-df2[order(df2$ts_gs),]
df5<-cbind(df3,df4)
df6<-data.frame(df5$mb_rank,df5$ts_rank)
df7<-rowMeans(df6)
df8<-data.frame(df5,df7)
df9<-data.frame(df8$ts_gs,df8$df7)
df10<-df9[order(df9$df8.df7),]
colnames(df10)<-c("Gene_symbol","Gene_rank")
assign(paste(deparse(substitute(x)),"top", "50", sep = "_"), df10[1:50,])
return(df10[1:50,])
}
Но он все равно не сохранится как новая переменная.
Спасибо.