我打算在hadoop相关项目中使用hadoop文件格式之一.我知道实木复合地板对于基于列的查询是有效的,而avro可用于全扫描或当我们需要所有列数据时!
在我继续选择其中一种文件格式之前,我想了解一种文件格式的缺点/缺点.任何人都可以用简单的语言向我解释一下吗?
假设我有矢量vec <- c("D","B","B","C","C")
.
我的目标是最终得到一个维度列表length(unique(vec))
,其中每个i
列表返回一个索引向量,表示unique(vec)[i]
in 的位置vec
.
例如,此列表vec
将返回:
exampleList <- list()
exampleList[[1]] <- c(1) #Since "D" is the first element
exampleList[[2]] <- c(2,3) #Since "B" is the 2nd/3rd element.
exampleList[[3]] <- c(4,5) #Since "C" is the 4th/5th element.
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但它太慢了.我的例子很大,所以我需要更快的代码:
vec <- c("D","B","B","C","C")
uniques <- unique(vec)
exampleList <- lapply(1:3,function(i) {
which(vec==uniques[i])
})
exampleList
Run Code Online (Sandbox Code Playgroud) R 有一些自动类型检测吗?也许在 CRAN 包中?
具体来说,当 R 加载数据(从文本文件)时,如果 R 能够对类型做出一些合理的假设和/或自动强制它们,那就太好了。
我知道你可能会这样做:
try( as( x, "..." ) )
Run Code Online (Sandbox Code Playgroud)
并尝试各种类型。我认为有更好的方法。
另外,请注意,我并不打算强制进入对象。基本数据类型都是:数字、整数、字符、POSIXct、...