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

相关推荐
地球资源数据云8 小时前
从 DEM 到 3D 渲染:R 语言 rayshader 地形可视化全指南
3d·数据分析·r语言
2501_941322039 小时前
【医疗AI】基于Mask R-CNN的支气管镜内窥镜目标检测系统实现
人工智能·r语言·cnn
地球资源数据云11 小时前
R语言网络分析与路径规划——线数据应用实战:规划散步路线
数据分析·r语言
LOnghas121113 小时前
文化遗产物品识别与分类——基于Mask R-CNN的改进模型详解
分类·r语言·cnn
斯摩尔德13 小时前
重测序及群体遗传分析
r语言
拓云者也13 小时前
常用的生物信息学数据库以及处理工具
数据库·python·oracle·r语言·bash
ASD123asfadxv1 天前
汽车保险丝盒元件识别与分类:基于Faster R-CNN与ResNet101的检测方案详解
分类·r语言·汽车
天桥下的卖艺者1 天前
使用R语言编写一个生成金字塔图形的函数
开发语言·数据库·r语言
高-老师3 天前
基于R语言的贝叶斯网络模型的实践技术应用;R语言实现Bayesian Network分析的基本流程
开发语言·r语言·贝叶斯网络