楼主: 木沐莯霂
1490 2

[问答] R语言排序能否保留NA [推广有奖]

  • 0关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
79 点
帖子
5
精华
0
在线时间
8 小时
注册时间
2020-5-23
最后登录
2021-3-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
将(1,2,4,NA,8,6,7,3)保留NA 排序,即输出结果为(1,2,3,NA,4,6,7,8),有大佬知道怎么写代码吗?最好是矩阵能用的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 输出结果 排序 R语言 R语言 R语言

沙发
owenqi 在职认证  学生认证  发表于 2020-5-29 11:39:01 |只看作者 |坛友微信交流群
R默认的sort对NA有三种处理方法,放在最前,最后和删掉,默认删掉。
对于楼主的需求,你的数据是保证只有一个NA吗,还是有多个NA,如果是多个的话NA之间是连续的吗,还是间断的。

这个是我临时想的,可能会有bug,但是大部分情况应该是能适用。
  1. sort_mod <- function(x){
  2.   n <- length(x)
  3.   num_idx <- which(!is.na(x))
  4.   y <- sort(x)
  5.   z <- rep(NA, n)
  6.   z[num_idx] <- y
  7.   return(z)
  8. }

  9. x <- c(1,2,4,NA,8,NA,6,7,3)
  10. sort_mod(x)
复制代码

使用道具

藤椅
木沐莯霂 发表于 2020-6-7 11:03:38 |只看作者 |坛友微信交流群
owenqi 发表于 2020-5-29 11:39
R默认的sort对NA有三种处理方法,放在最前,最后和删掉,默认删掉。
对于楼主的需求,你的数据是保证只有一 ...
谢谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-23 01:59