我有一个如下所示的 data.frame:
Col1 Col2 Col3 ...... 30 50 90 50 50 20
我只想以这种方式比较每列的第 1 行和第 2 行:
如果
DF[[i]][i] > DF[[i]][i + 1] --> 1 (所以比较每一列的 row1 和 row2)
如果
DF[[i]][i] < DF[[i]][i + 1] --> -1
如果
DF[[i]][i] == DF[[i]][i + 1] --> 0
我尝试编写以下函数。不幸的是,它不起作用。
myfunc <- function(Data){
Data = df_a_freq
if(!is.numeric(Data)){
stop("argument x must be numeric")}
value <- list()
for (i in 1: length(Data)){
if (Data[[i] ][i] > Data[[i]][i+1]){
value <- 1}
else if(Data[[i]][i] < Data[[i]][i+1]){
value <- -1}
其他 { 值 <- 0
}
}
返回(值)
}
当我运行该函数时,会发生以下错误:
Error in if (Data [[i]] [i]> Data [[i]] [i + 1]) {:
在 TRUE / FALSE 时需要缺失值
我不知道如何解决它。