R - sort() 输出缺少一行

2023-12-28

I have A and B如下: //编辑//我很困而且很困惑。这些不是数据框。

> length(A)
[1] 490
> length(B)
[1] 17730

> str(A)
 num [1:490] 0.0113 -0.0106 0.2308 0.0435 0.2814 ...
> str(B)
 num [1:17730] 0.0118 0.0196 0.0344 0.0207 0.0566 ...

但由于某种原因,当我使用sort():

> length(sort(A))
[1] 490
> length(sort(B))
[1] 17729        #should be 17730

我不知道如何在这种特殊情况下生成可重现的示例,并且我一直困惑于应该如何解决此问题。我应该检查什么?


其他人指出sort()接受一个向量而不是一个data.frame,但是向量中有 NA 吗?默认在sort()是删除 NA:

v <- c(2, 1, NA)
v
#[1]  2  1 NA

length(sort(v))
#[1] 2
length(sort(v, na.last = T))
#[1] 3

如果你想对 data.frame 进行排序,你应该使用order()代替sort(). order()有相同的na.last论证为sort()除了默认值是TRUE代替NA:

df <- data.frame(vars = c(2, 1, NA))
df_n <- data.frame(df[order(df$vars),])

nrow(df_n)
#[1] 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - sort() 输出缺少一行 的相关文章

随机推荐