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

相关推荐
烟锁池塘柳01 天前
【R语言】R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例)
正则表达式·r语言·perl
梦想的初衷~2 天前
“R+遥感”的水环境综合评价方法实践技术应用
r语言·水环境·水文
天意生信云3 天前
生信分析自学攻略 | R软件和Rstudio的安装
经验分享·r语言
TS的美梦3 天前
【1:1复刻R版】python版火山图函数一键出图
开发语言·python·r语言·scanpy·火山图
nonono3 天前
深度学习——R-CNN及其变体
深度学习·r语言·cnn
烟锁池塘柳04 天前
【R语言】R 语言中打印含有双引号的字符串时会出现 “\” 的原因解析
r语言
全栈开发圈7 天前
干货分享|如何从0到1掌握R语言数据分析
开发语言·数据分析·r语言
小杜的生信筆記10 天前
基于R语言,“上百种机器学习模型”学习教程 | Mime包
开发语言·学习·机器学习·r语言·sci
在打豆豆的小潘学长10 天前
【R语言】多样本单细胞分析_SCTransform+Harmony方案(2)
开发语言·r语言
TS的美梦11 天前
ROGUE: 【张院士团队R包】一种基于熵的用于评估单细胞群体纯度的度量标准
开发语言·r语言