我正在处理一个包含500列和大量行的巨大数据集,其中我可以采用一个非常大的样本(例如100万)。
所有列都是字符格式,尽管它们可以表示不同的数据类型:数字,日期,...我需要构建一个函数,给定一个列作为输入,识别其格式,考虑NA值同样。
例如,给定一个列col,我会以这种方式识别它是否为数字。
col <- c(as.character(runif(10000)), rep('NaN', 10))
maxPercNa <- 0.10
nNa <- sum(is.na(as.numeric(col)))
percNa <- nNa / length(col)
isNumeric <- percNa < maxPercNa
以类似的方式,我需要识别日期,整数,......我正在考虑使用正则表达式。一个挑战是数据集非常大,因此该技术应该是有效的。
如果有人提出了一个绝妙的主意,那么我们将非常感激:)提前致谢!