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(使用前将#替换为@)