您现在的位置是:首页 > 编程 > 

R数据框一个有趣的小问题

2025-07-27 19:34:24
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,]
  • dplyrslice函数: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 ,所以会返回数据框,而没有对数据进行降级

因此,如果我们想通过修改参数的方法,将第一种的结果也输出为数据框,可以这样:


本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2024-06-21,如有侵权请联系 cloudcommunity@tencent 删除函数数据字符串dplyrslice

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1237087.html

相关标签:无
上传时间: 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