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

相关推荐
zoujiahui_20188 小时前
R中实现数值求导的包numDeriv
r语言
生信研究猿1 天前
数据集下载(AER 和causaldata R包)
r语言·数据集
Chh07153 天前
《R语言SCI期刊论文绘图专题计划》大纲
开发语言·r语言
Tiger Z4 天前
R 语言科研绘图第 41 期 --- 桑基图-基础
开发语言·r语言·贴图
jerry2011085 天前
R语言之rjava版本不匹配解决方法
开发语言·r语言
Tiger Z8 天前
R 语言科研绘图 --- 饼状图-汇总
开发语言·人工智能·程序人生·r语言·贴图
maizeman1268 天前
R语言——方差分析2
开发语言·r语言·可视化·方差分析·单因素·多重t检验多重比较·tukey多重比较
zhanghongyi_cpp11 天前
R语言操作练习2
r语言
jerry20110811 天前
R语言之环境清理
开发语言·r语言
TDengine (老段)12 天前
TDengine 语言连接器(R语言)
大数据·数据库·物联网·r语言·时序数据库·tdengine·iotdb