R 语言 | 取数据框一列子集时,如何保持数据框结构?drop=F

数据框取多列时,返回的还是数据框。

取一列时,默认退化为一个向量:

复制代码
> class(iris)
[1] "data.frame"
> t1=iris[, 1:2]
> class(t1)
[1] "data.frame"

> t2=iris[,1]
> class(t2)
[1] "numeric"
> head(t2, n=2)
[1] 5.1 4.9

取一列子集,还想保持数据框结构,怎么办?

答案:在[]中添加第三个参数 drop=F

复制代码
> t3=iris[,1, drop=F]
> class(t3)
[1] "data.frame"
> head(t3, n=2)
  Sepal.Length
1          5.1
2          4.9

这个在Seurat4源码中经常见到。

Tips: 为了稳健(robust),函数中对数据框取列子集,都建议一律加上 drop=F 参数。

相关推荐
LEEBELOVED13 小时前
R语言基于selenium模拟浏览器抓取ASCO数据-连载NO.03
selenium·r语言·1024程序员节
勿在浮沙筑高台1 天前
海龟交易系统R
前端·人工智能·r语言
zhangfeng11331 天前
R和python 哪个更适合生物信息分析,或者更擅长做什么工作
开发语言·python·r语言·生物信息
兮兮能吃能睡2 天前
R语言~T检验
开发语言·r语言
预测模型的开发与应用研究2 天前
从入门到实操:贝叶斯分析完整技术步骤与核心R包指南
开发语言·人工智能·r语言
图灵信徒2 天前
R语言数据结构与数据处理基础内容
开发语言·数据挖掘·数据分析·r语言
污斑兔3 天前
技术随笔:Node.js ESM 中巧用 `-r dotenv/config` 解决环境变量异步加载问题
开发语言·r语言·node.js
兮兮能吃能睡4 天前
R语言众数函数分析
开发语言·r语言
追风少年ii4 天前
脚本更新--CosMx、Xenium的邻域通讯分析(R版本)
linux·python·r语言·r·单细胞·培训
Q一件事5 天前
R语言随机森林分析显示R方和P值
开发语言·随机森林·r语言