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

相关推荐
雁迟13 小时前
第十三章:R 读取 txt、csv 表格数据
r语言
Biomamba生信基地17 小时前
R语言scRNA-seq去RNA污染手册
r语言·单细胞测序·scrna-seq
Omics Pro18 小时前
全流程可重复!R语言脂质组学:原始数据→功能解析
开发语言·人工智能·深度学习·语言模型·r语言·excel·知识图谱
雁迟1 天前
第八章:矩阵与数组操作
线性代数·矩阵·r语言
雁迟1 天前
第六章:for 循环与 while 循环语句
开发语言·r语言
雁迟2 天前
第七章:R 向量用法(最核心数据结构)
开发语言·数据结构·r语言
雁迟2 天前
第九章:列表 List 数据类型
数据结构·r语言
雁迟2 天前
第十章:数据框 DataFrame(数据分析主力)
数据挖掘·数据分析·r语言
雁迟2 天前
第五章:条件判断与分支语句
开发语言·r语言
陳土2 天前
R语言jiebaR包使用摘要
开发语言·r语言