我在将函数写入 ddply 调用时遇到问题。这是一个基本的DF:
library(plyr)
Time <- c(1,2,3,4,5,6,7,8,9,10)
X <- c(1,2,-3,4,-7,2,-4,9,7,-5)
Y <- c(2,-3,-4,4,4,3,2,-9,9,10)
T <- c(5,4,3,2,1,9,8,7,6,5)
DF <- data.frame(Time,X,Y,T)
我有两个不同的功能。一种根据两列语句的结果从 T 中减去一个数字的方法
VD<-function(X,Y,T){
if(X > 0 & Y < 0) {9-T}
if(X < 0 & Y < 0) {5-T}
if(X > 0 & Y > 0) {9-T}
if(X < 0 & Y > 0) {5-T}
}
第二个只是查看一个数字是负数还是正数(如果是负数,则从 9 中减去 x,如果是正数,则什么也不做)
VD2<-function(X){
if(X<0) {9-X}
if(X>0) {X}
}
我写了我认为可行的东西
ddply(DF,'Time',summarize,Result=VD(X,Y,T))
ddply(DF,'Time',summarize,Result2=VD2(X))
但我都得到了错误,我不知道为什么