我有A
和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
我不知道如何在这种特殊情况下制作一个可重现的例子,我一直在坚持如何解决这个问题。我该怎么检查?
答案 0 :(得分:2)
其他人指出sort()
采用向量而不是data.frame
,但向量中是否有任何NA? sort()
中的默认设置是删除NAs:
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()
与[{1}}具有相同的na.last
参数,但默认值为sort()
而不是TRUE
:
NA