You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何声明参数为数据框并将字符串匹配为对应数据框对象

你需要使用R的两个基础函数实现字符串和环境对象的映射:

  • get(对象名字符串):将字符串转换为当前环境中同名的可调用对象
  • assign(对象名字符串, 值):将计算得到的值赋值给当前环境中同名的对象

修正后的循环实现

for(i in 1:aggr_count) {
  # 拼接得到当前数据框的对象名字符串
  obj_name <- paste0("temp", i, ".obj")
  # 先通过get读取原对象,过滤后通过assign写回同名对象
  assign(
    x = obj_name,
    value = subset(get(obj_name), subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < .2)
  )
}

更推荐的批量操作方案

如果后续还需要对这批数据框做其他统一处理,更建议把所有对象放到列表中统一操作,避免反复拼接字符串调用get/assign,代码容错性更高:

# 1. 把所有分散的tempN.obj对象合并到同一个列表
obj_list <- lapply(1:aggr_count, function(i) get(paste0("temp", i, ".obj")))
# 2. 批量完成过滤操作
obj_list <- lapply(obj_list, function(x) {
  subset(x, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < .2)
})
# 可选:如果需要还原为原来的分散对象名,执行下面的循环
for(i in 1:aggr_count) assign(paste0("temp", i, ".obj"), obj_list[[i]])

内容的提问来源于stack exchange,提问作者Dan Meyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 05:39:01