【发布时间】:2013-03-13 16:17:27
【问题描述】:
这是我在这里提出的问题的扩展: Getting Factor Means into the dataset after calculation
现在我已经基本标准化了我有兴趣使用的所有统计数据 我想搜索与这些相交的人的数据集。因此,我正在搜索这样的数据集:
base3[((base3$ScaledAVG>2)&(base3$ScaledOBP>2)&(base3$ScaledK.AB<.20)),]
寻找满足所有这三个条件的玩家,但是当我运行它时,它会将 Scaled K.AB 值重置为 0.5、1 或 2,然后不使用该参数进行搜索。以这种方式搜索数据集是否有问题,或者是否有更好的方法以同样的方式在数据集中查找人员?
这里是一些示例数据,但它与我查看我拥有的 4000 条记录时没有相同的问题:
AVG = c(.350,.400,.320,.220,.100,.250,.400,.450)
Conf = c("SEC","ACC","SEC","B12","P12","ACC","B12","P12")
OBP = c(.360,.420,.360,.260,.160,.260,.460,.410)
K.AB = c(.11,.10,.09,.25,.20,.19,.05,.09)
Conf=as.factor(Conf)
d<- data.frame(Conf, AVG,OBP,K.AB)
dd <- do.call(rbind, by(d, d$Conf, FUN=function(x) { x$Scaled <- scale(x$AVG); x}))
dd <- do.call(rbind, by(d, d$Conf, FUN=function(x) { x$Scaled <- scale(x$OBP); x}))
dd <- do.call(rbind, by(d, d$Conf, FUN=function(x) { x$Scaled <- scale(x$K.AB); x}))
dd[((dd$ScaledAVG>2)&(dd$ScaledOBP>2)&(dd$ScaledK.AB<.20)),]
谢谢!
【问题讨论】:
-
您提供的样本数据几乎没用 -
base3是什么?你有confName和Conf,没有Scaled任何东西。请使其可重现。 -
最后一个函数不会对这些数据做任何事情,但假设你有一堆并且值比平均值高出 2 sds,这是获取它们的最佳方法或存在有更好的方法吗?
-
我重写了样本数据,我很抱歉不能让它重现!除了最后一部分之外,这应该都可以工作。
-
您正在覆盖
dd的值。只有最后一个任务会保留下来。 -
我应该如何将这三个一起做才能坚持下去?
标签: r search normalization r-factor do.call