R语言 自定义函数 fuction() 功能的学习

学习自定义函数

在r中,自定义函数有着很多用处,用于封装一些标准化流程。

myfunction <- function(arg1, arg2, ... ){
statements
return(object)
}

myfunction是自定函数的名称
arg是参数
statements是函数语句
return是返回结果

举个例子

end_with <- function(path){
  if(!endsWith(path,"*"))#如果path不是已*结尾的则运行....
   {path <- paste0(path,"*")}# 给path尾加上*
   return(path)#返回path.
}
> path <- "./home/user"
> end_with(path)
[1] "./home/user*"

更新几个自己常用的函数

提取t.test结果

也可以用来提取list的套嵌信息,改一改就行。

extract_t <- function(dat_logFC){
  mean <- lapply(data_t,\(x){x[["estimate"]]})%>%unlist%>% data.frame()#提取均值
  lcl95 <- lapply(dat_logFC,\(x){x[["conf.int"]][[1]]})%>%unlist%>% as.data.frame()#提取95%置信区间的下限
  ucl95 <- lapply(dat_logFC,\(x){x[["conf.int"]][[2]]})%>%unlist%>% as.data.frame()#提取95%置信区间的上限
  p_value <- lapply(dat_logFC,\(x){x[["p.value"]]})%>%unlist%>% as.data.frame()#提取p值,但是在后面的图里没有展示
  merge_data <- cbind(mean$.,lcl95,ucl95,p_value)#合并,mean$. 是因为如果直接使用mean行名会变得复杂,好像只有mean这个元素的行名与其他不同。
  merge_data <- cbind(row.names(merge_data),merge_data)#删除行名,把行名当做列
  row.names(merge_data) <- NULL
  colnames(merge_data) <- c("name","logFC","lcl95","ucl95","p_value")
  return(merge_data)
}
extrac_t(data)
#你可以将你所有的自定义函数都写在一个r脚本里,以后再使用的时候利用source()功能统一加载
source(paste0("~/R/myfunction/extracat_t_data.r"))#像这样
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值