我需要对他们识别的车辆进行一些分析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))
但是,当然,c
inFunction
和 "rbind"
indo.call
将所有内容强制转换为相同的对象类型。为了解决这个问题,我一直在Function
吐出一个字符向量(比如as.character(23.2, "SuperFast", TRUE)
最后手动更改对象类型。
是否有(1)一种方法可以row
在具有不同对象类型的数据框中返回一些东西,或者(2)比使用by
和c
(对于行)更好的方法?
只是为了好玩,这里有一些可用于数据的东西:
Data <- data.frame(ID=c(1,2,2,3))