R数据框一个有趣的小问题
R数据框一个有趣的小问题
前言首先假设我们有一个小的数据框,2行1列:代码语言:javascript代码运行次数:0运行复制test = data.frame(col1 = c('remove_cell', 100))
rownames(test) = c('row1','row2')
然后如果想把第一行去掉,只保留第二行数据,我们一般
R数据框一个有趣的小问题
前言
首先假设我们有一个小的数据框,2行1列:
代码语言:javascript代码运行次数:0运行复制test = data.frame(col1 = c('remove_cell', 100))
rownames(test) = c('row1','row2')
然后如果想把第一行去掉,只保留第二行数据,我们一般的操作可以有两种
- 直接中括号减去第一行:
test[-1,]
dplyr
的slice
函数:slice(test,-1)
此时就发现了,第一种方法会只得到了一个向量,而不是像第二种依然得到一个数据框
那么问题出在哪里呢?
- 首先是因为我们的数据框就只有2行1列,一共就2个单元格,去掉第一行,其实也就是只剩下一个单元格的元素了;
- 其次
[]
这个符号,它其实也是一个函数,存在于base包中,它有一个默认参数drop = TRUE
,意思是:
If
TRUE
the result is coerced to the lowest possible dimension (默认情况下,会返回最最原始的状态。如果剩下的内容是字符串,那么就直接返回字符串;如果剩下的还是一个数据框,那么就返回数据框)
这个函数其实也可以看帮助文档,只要在这种特殊符号的函数两边加上引号即可:?"["
【至于我是怎么知道的,因为我有个花花,她说她看了好几本R语言的书里面有提到】
- 最后的那个
dplyr::slice
,当然就是将参数默认调整成了:drop = TRUE
,所以会返回数据框,而没有对数据进行降级
因此,如果我们想通过修改参数的方法,将第一种的结果也输出为数据框,可以这样:
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-26 17:35:20
下一篇:单细胞组间比较分析
推荐阅读
留言与评论(共有 11 条评论) |
本站网友 脂肪填充术 | 8分钟前 发表 |
只要在这种特殊符号的函数两边加上引号即可:?"[" 【至于我是怎么知道的 | |
本站网友 私家菜 | 2分钟前 发表 |
'row2') 然后如果想把第一行去掉 | |
本站网友 股票开盘时间 | 0秒前 发表 |
去掉第一行 | |
本站网友 中医骨伤 | 7分钟前 发表 |
它其实也是一个函数 | |
本站网友 吴瑞忠 | 10分钟前 发表 |
因为我有个花花 | |
本站网友 javaswitch | 2分钟前 发表 |
她说她看了好几本R语言的书里面有提到】最后的那个dplyr | |
本站网友 曼谷小吃 | 29分钟前 发表 |
本站网友 闷雷 | 17分钟前 发表 |
去掉第一行 | |
本站网友 华侨城生态广场 | 22分钟前 发表 |
意思是:If TRUE the result is coerced to the lowest possible dimension (默认情况下 | |
本站网友 狼王 | 8分钟前 发表 |
如有侵权请联系 cloudcommunity@tencent 删除函数数据字符串dplyrslice |