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

相关推荐
weixin_4624462315 小时前
【原创实践】在 CentOS 上安装 JupyterHub 并配置 R 语言支持 Kernel
linux·r语言·centos
2501_941322031 天前
道路检测新突破:Cascade R-CNN在COCO数据集上的实战应用详解
开发语言·r语言·cnn
高-老师2 天前
基于R语言生物信息学大数据分析与绘图实践技术应用
开发语言·数据分析·r语言·生物信息
czliutz2 天前
R语言gm音乐包的使用简单介绍
开发语言·r语言·音乐·技巧
asyxchenchong8882 天前
R语言+贝叶斯网络:涵盖贝叶斯网络基础、离散与连续分布、混合网络、动态网络,Gephi可视化
r语言
小艳加油3 天前
R语言贝叶斯网络分析的完整体系——涵盖离散、连续、混合及动态网络等
r语言·参数估计·贝叶斯网络
Tiger Z3 天前
《R for Data Science (2e)》免费中文翻译 (第17章) --- Dates and times(2)
r语言·编程·数据科学
青春不败 177-3266-05203 天前
基于R语言lavaan结构方程模型(SEM)实践技术应用
python·r语言·贝叶斯·生态学·结构方程·sem
itwangyang5203 天前
人工智能药物设计和生信常用 R 包一键全自动安装脚本
开发语言·人工智能·r语言
xiao5kou4chang6kai43 天前
R语言的贝叶斯网络模型的实践
r语言·贝叶斯网络·统计学