我想重新排列看起来像这样的数据框的行:
qs=c("q11", "q22", "q2", "q6", "q10")
ans=rep(1,times=length(qs))
df=data.frame(qs,ans)
arrange(df,qs)
qs ans
1 q10 1
2 q11 1
3 q2 1
4 q22 1
5 q6 1
但是,我希望对行进行排序以更符合逻辑的顺序进行查找,例如:
qs ans
1 q2 1
2 q6 1
3 q10 1
4 q11 1
5 q22 1
有人可以帮我弄这个吗 ?
使用R基:
df <- df[order(as.integer(gsub("q", "", as.character(df$qs)))), ]
对于您的示例df
,这给出了:
qs ans
3 q2 1
4 q6 1
5 q10 1
1 q11 1
2 q22 1
您可能会注意到,行名在重新排序后不是1、2、3、4、5。你可以做:
rownames(df) <- 1:nrow(df)
使它看起来不错:
qs ans
1 q2 1
2 q6 1
3 q10 1
4 q11 1
5 q22 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句