我有这个向量,我想对其进行排序。
v1<-c(1,10,2,6,8,1,3,5,"a","ab","c","d","aa","abc","a a","a bc")。
然而,向量中同时包含数字和字符。所以我需要在字符之后进行数字排序。代码library(gtools); mixedsort(v1)完全按照要求解决了目的。
但我将其应用于大约 300 万个数据集。所以它效率不高,我需要一个可以更快处理它的代码。
解决方案应该是这样的。
> mixedsort(v1)
[1] "1" "1" "2" "3" "5" "6" "8" "10" "a" "a a" "a bc" "aa" "ab" "abc" "c" "d"
Run Code Online (Sandbox Code Playgroud)
多谢
df<-data.frame(expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z"),c("l","m","n")));
Run Code Online (Sandbox Code Playgroud)
我有这个有 4 列的表,我想将结果放在一个向量中,这样它应该是
paste0(df$Var1,df$Var2,df$Var4)
Run Code Online (Sandbox Code Playgroud)
这里提出的问题只是为了演示目的,所以我希望它非常动态和灵活。
我正在寻找任何可以按指定连接 2、3 或 4 列的代码。
如果我们说
i<-1;
j<-2;
k<-4;
paste0(df[,i],df[,j],df[,k])
Run Code Online (Sandbox Code Playgroud)
现在想象一下,如果 df 中有很多列,则执行相同的操作。还有列数以及哪些列应基于输入。
如果这是使用 data.table 包完成的,我将不胜感激。