作为了解我的数据的一部分,我正在尝试获取大型数据框中每一列的最小值/最大值。我的第一次尝试是:
apply(t,2,max,na.rm=1)
它将所有内容都视为字符向量,因为前几列是字符类型。因此,某些数字列的最大值为" -99.5"
.
然后我尝试了这个:
sapply(t,max,na.rm=1)
但它抱怨max 对 factor 没有意义。(lapply
是一样的。)让我感到困惑的是,这个apply
想法max
对因素来说是完全有意义的,例如它为第 1 列返回了“ZEBRA”。
顺便说一句,我看了一下Using sapply on vector of POSIXct,其中一个答案是“当你使用 sapply 时,你的对象被强制转换为数字,...... ”。这是发生在我身上的事吗?如果是这样,是否有不强制的替代应用功能?当然,这是一种常见的需求,因为数据框类型的关键特性之一是每一列都可以是不同的类型。