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 参数。

相关推荐
房开民1 天前
paddle 文本检测识别模型转为onnx
开发语言·r语言·paddle
全栈开发圈1 天前
干货分享|R语言聚类分析2
人工智能·机器学习·r语言
全栈开发圈3 天前
干货分享|R语言聚类分析1
开发语言·r语言
AI科技星6 天前
空间光速螺旋动力学:统一质量、引力、电磁与时空本源的公理化理论与全现象验证
c语言·开发语言·opencv·算法·r语言
zhangfeng11339 天前
提示 R for Windows front-end 怎么被防火墙 阻止了 Rscript.exe` 和 `R.exe`区别
windows·r语言·php
全栈开发圈10 天前
新书速览|R语言医学数据分析与可视化
开发语言·数据分析·r语言
木与长清11 天前
人鼠同源基因离线转换
数据库·矩阵·数据分析·r语言
HP-Patience11 天前
【Rmarkdown】快速入门
r语言
HP-Patience11 天前
【Data Mining】01抽样技术
人工智能·数据挖掘·r语言
lihihi11 天前
P1650 [ICPC 2004 Shanghai R] 田忌赛马(同洛谷2587)
开发语言·算法·r语言