楼主: 木沐莯霂
2060 2

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

  • 0关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

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

楼主
木沐莯霂 发表于 2020-5-27 17:20:14 |AI写论文

+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
拉您进交流群
GMT+8, 2026-2-4 06:00