2017-05-08 124 views
0

我想创建比较是否预测数据的一个新的列表会为了数据的每一行中等于实际来检查我的预测正确的结果。对不起,如果我的代码非常混乱,效率低下。我需要一些关于下面所述问题的指导。谢谢。如何申请ifelse语句数据的列表中的R

首先我创建一个列表预测实际

predict <-list(compare_result[,1])` 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
1 1 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 

actual <-list(compare_result[,2]) 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 

然后我尝试使用ifelse声明两个列表,但一个错误就出来了:

> comapare2 <- ifelse(predict=actual,"true","false") 

Error in ifelse(predict = actual, "true", "false") : 
    unused argument (predict = actual) 
+1

我不知道很多关于R但_if_比较通常REQ的_ = = _运算符。即'predict = actual' - >'predict == actual' – patrick

回答

1

您可以直接比较两个向量,例如:

matches <- compare_results[, 1] == compare_results[,2] 

,然后如果你需要的是一个清单(不知道为什么),只投的最终结果:

matches_list <- as.list(matches) 
+0

非常感谢。花一个小时解决它,为什么我没有想到这一点。 – Wong