首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将函数的输出保存为新的dataf.frame,并在保存名称中使用原始输入的名称

将函数的输出保存为新的dataf.frame,并在保存名称中使用原始输入的名称
EN

Stack Overflow用户
提问于 2020-04-22 10:06:14
回答 1查看 47关注 0票数 0

我已经编写了一个函数,从一个基于排名的列表中获取前50名的结果。

代码语言:javascript
运行
复制
myfunction <- function(x){

...selects the top 50 results

return(the top 50 results)

如果您需要确切的函数,我可以添加更多的细节。

理想情况下,我希望函数通过自动包含输入的名称,将前50位列表保存为一个新的data.frame:

‘x’_50

因此,我可以反复使用这个函数,它会自动保存输出以供以后使用。

任何帮助都会很好,谢谢!

编辑

这是我从第一个答案中得到的:

代码语言:javascript
运行
复制
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,])
}

但它仍然不会保存为一个新的变量。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-22 10:14:34

我相信您想要的是函数assign()为数据分配一个特定的名称,deparse()subsitute()提取之前给定的变量名。

代码语言:javascript
运行
复制
myfunction <- function(x){

  #whatever you're doing it's here that results in the_top_50_results as a dataframe

  assign(paste(deparse(substitute(x)), "top", "50", sep = "_"), the_top_50_results, envir = .GlobalEnv)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61362384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档