这是我的代码,基本上我正在尝试将数据转换为宽格式,可能有也可能没有重复数据。我尝试使用for-each和parallel但仍需要更多时间,任何人都可以建议任何更改
这是我正在处理的数据: -
Param1: 1, , 753360af0c8949c0aeab64d520599656
Param2: Value2
Param3: value3
Param4: Value4
Param1: 2, , 8c8c659813d842c5bab2ddba9483ea5a
Param2: Value5
Param4: value6
Param3: Value7
所以基本上我需要一个宽格式,但上面的例子包含4个参数。该文件可以有10个不同数量的参数,因为文本文件来自不同的来源。
结果应如下所示: -
Param1 Param2 Param3 param4
1 753360af0c8949c0aeab64d520599656 Value2 Value3 Value4
2 8c8c659813d842c5bab2ddba9483ea5a Value5 Value6 Value7
这是相同的代码: -
f <- read.table("./Sample.txt",header = FALSE, sep = ":",fill=TRUE, row.names=NULL)
f[,2] <- paste(f[,2],f[,3],f[,4])
c <- unique(f[,1])
rw <- round(nrow(f) / length(c)) + 1
result <- data.frame(matrix(0,ncol=length(c),nrow=rw))
colnames(result) <- t(c)
wh <- which(f[,1]==c[1])
for(i in 1:(length(wh)-1)) {
print(i)
tmp <- f[(wh[i]:(wh[i+1]-1)),]
result[i,] <- t(tmp[,2][match(colnames(result),tmp[,1])])
}
我有超过10,00,000行要处理,上述代码即使在一天之后也无法完成。
提前致谢