我需要对他们识别的车辆进行一些分析ID。此分析的结果将包括一些numeric、factor和logical信息。分析中使用的所有数据都在一个数据框中,因此函数如下所示:
Results <- by(Data, Data$ID, Function)
WhereFunction旨在提供如下输出:
Function <- function(DF) {
## Do stuff...
return(c(23.2, as.factor("SuperFast"), TRUE))
}
到目前为止,这种方法的优点在于,除了速度非常快(for循环需要数小时的时间约为 1 分钟)之外,还可以通过以下方式轻松输入data.frame格式:
as.data.frame(do.call("rbind", Results))
但是,当然,cinFunction 和 "rbind"indo.call将所有内容强制转换为相同的对象类型。为了解决这个问题,我一直在Function吐出一个字符向量(比如as.character(23.2, "SuperFast", TRUE)最后手动更改对象类型。
是否有(1)一种方法可以row在具有不同对象类型的数据框中返回一些东西,或者(2)比使用by和c(对于行)更好的方法?
只是为了好玩,这里有一些可用于数据的东西:
Data <- data.frame(ID=c(1,2,2,3))