小编Moh*_*hit的帖子

在 R 中对非常大的数据集进行排序

我有这个向量,我想对其进行排序。

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)

多谢

r data.table

10
推荐指数
1
解决办法
347
查看次数

在循环内粘贴指定的 3 列

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 包完成的,我将不胜感激。

r data.table

5
推荐指数
2
解决办法
129
查看次数

标签 统计

data.table ×2

r ×2