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

相关推荐
邢博士谈科教4 小时前
TCGA单基因高低分组的差异分析后的GSEA-GO和KEGG富集分析教程
数据分析·r语言
Catherinemin16 小时前
【R语言】1.安装&基础语法
开发语言·r语言
Tiger Z1 天前
R 语言科研绘图 --- 3D绘图-汇总1
r语言·论文·科研·绘图·研究生
kisshuan123962 天前
黄芪属植物物种识别与分类:基于 Faster R-CNN C4 模型的深度学习实现
深度学习·分类·r语言
闻缺陷则喜何志丹3 天前
【二分查找】P9822 [ICPC2020 Shanghai R] Walker【有误差】|普及
开发语言·算法·r语言
qwerasda1238523 天前
【深度学习实战】基于Faster R-CNN的新鲜枣果品质智能检测与分类系统完整实现教程
深度学习·r语言·cnn
Feibo20114 天前
R-3east
开发语言·r语言
Tiger Z5 天前
《R for Data Science (2e)》免费中文翻译 (第16章) --- Factors
r语言·编程·数据科学
Studying 开龙wu5 天前
关于Fast R-CNN中提到“共享卷积计算”和“空间金字塔池化”这两个紧密相连、推动目标检测发展的核心概念——解决R-CNN致命问题的钥匙
目标检测·r语言·cnn
BIGZJU6 天前
基于文章的连续时间三状态马尔科夫模型示例(简化版)
r语言·马尔科夫模型·衰老·柳叶刀·文献分享