当前位置: 首页 > article >正文

R语言实用技巧--用get函数配合dplyr包传参

使用场景,今天在做cellchat,需要提取一下几种细胞类型的id。目前的设置是这样。

sce.all = seurat_obj
Idents(sce.all) = "CAFs"
celltype_sender=c("iCAF","myCAF")

如果正常写代码传参是这样

sender_ids <- sce.all@meta.data %>% 
    filter(CAFs %in% celltype_sender) %>%
    rownames()

但是如果我想换一种细胞类型,CAFs就也要改,不够简洁。filter函数是不支持以下写法的,什么都筛选不出来

celltype_sender_idents = "CAFs"
sender_ids <- sce.all@meta.data %>% 
    filter(celltype_sender_idents %in% celltype_sender) %>%
    rownames()

解决方案:

sce.all = seurat_obj
Idents(sce.all) = "CAFs"
celltype_sender=c("iCAF","myCAF")
celltype_sender_idents = "CAFs"

sender_ids <- sce.all@meta.data %>% 
    filter(get(celltype_sender_idents) %in% celltype_sender) %>%
    rownames()

这样就可以在一开始把变量设置好,在后面优雅的传参了


http://www.kler.cn/a/420331.html

相关文章:

  • 【C语言】结构体(四)
  • 洛谷二刷P4715 【深基16.例1】淘汰赛(c嘎嘎)
  • 基于C#+SQLite开发数据库应用的示例
  • Ollama是什么
  • 44 基于32单片机的博物馆安全监控系统设计
  • GEOBench-VLM:专为地理空间任务设计的视觉-语言模型基准测试数据集
  • 【NLP 8、normalization、sigmoid,softmax归一化函数】
  • 基于Java Springboot奶茶点餐微信小程序
  • 短视频矩阵的营销策略:批量混剪实现高效传播
  • Qt数据库操作-QSqlQueryModel 的使用
  • 【nlp】模型文件构成
  • 嵌入式入门Day22
  • 学习JavaEE的日子 Day36 字符流
  • 三菱汽车决定退出中国市场,发展重心转移至东南亚
  • 优先算法 —— 双指针系列 - 三数之和
  • 机器学习:机器学习项目的完整周期
  • VS Code配置Lua调试环境
  • 【Verilog】实验三 数码管实验
  • 使用 Pytorch 构建 Vanilla GAN
  • Jenkins环境搭建及简单介绍
  • 十、软件设计架构-微服务-服务调用Dubbo
  • Ubuntu24.04初始化教程(包含基础优化、ros2)
  • 高效处理 iOS 应用中的大规模礼物数据:以直播项目为例(1-礼物池)
  • Ajax:回忆与节点
  • 使用R语言优雅的获取任意区域的POI,道路,河流等数据
  • StarRocks存算分离在得物的降本增效实践