Replace numbers with booleans in r

I want to use weka

to predict future instances. I have a file csv

and a small part of it looks like this:

enter image description here

I used r

to read the file, but I'm not sure how to replace the zeros "No error" and nothing but zero with "Error". I would do that, but unfortunately weka

I cannot predict instances with numbers as status.

Edit 2: I tried your solution, and although it changed the numerical values โ€‹โ€‹to error / no error, it removed other columns. Did I do something wrong? I also wrote it to a file to make it easier to see.

OutputFile

Edit 3:

dput(data)
structure(list(BoxType = structure(c(3L, 3L, 6L, 6L, 3L, 8L, 
3L, 3L, 6L, 4L, 4L, 3L, 3L, 4L, 6L, 6L, 3L, 6L, 2L, 4L, 3L, 3L, 
8L, 3L, 6L, 8L, 2L, 3L, 8L, 8L, 3L, 8L, 2L, 2L, 8L, 8L, 2L, 3L, 
8L, 3L, 4L, 3L, 3L, 3L, 2L, 2L, 6L, 4L, 3L, 4L, 4L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 3L, 4L, 2L, 6L, 6L, 4L, 4L, 4L, 6L, 3L, 4L, 6L, 3L, 
3L, 2L, 2L, 6L, 3L, 3L, 3L, 2L, 6L, 8L, 3L, 8L, 3L, 4L, 3L, 8L, 
6L, 2L, 6L, 6L, 3L, 3L, 4L, 3L, 4L, 4L, 2L, 4L, 2L, 3L, 2L, 6L, 
3L, 3L, 4L, 3L, 3L, 6L, 3L, 6L, 3L, 3L, 4L, 6L, 4L, 4L, 3L, 4L, 
4L, 2L, 6L, 2L, 6L, 6L, 3L, 3L, 4L, 3L, 4L, 6L, 3L, 4L, 6L, 6L, 
4L, 4L, 3L, 6L, 4L, 4L, 3L, 4L, 6L, 3L, 6L, 2L, 3L, 2L, 2L, 6L, 
4L, 4L, 3L, 6L, 4L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 2L, 6L, 6L, 
6L, 3L, 2L, 3L, 3L, 4L, 4L, 3L, 6L, 3L, 4L, 3L, 3L, 3L, 3L, 8L, 
6L, 3L, 6L, 2L, 8L, 2L, 3L, 3L, 6L, 3L, 2L, 2L, 3L, 4L, 6L, 2L, 
6L, 3L, 3L, 4L, 6L, 3L, 4L, 4L, 4L, 2L, 4L, 3L, 6L, 3L, 3L, 3L, 
4L, 3L, 3L, 2L, 4L, 3L, 3L, 3L, 2L, 3L, 4L, 6L, 3L, 3L, 3L, 2L, 
3L, 6L, 3L, 3L, 3L, 3L, 3L, 6L, 8L, 4L, 3L, 3L, 2L, 7L, 8L, 6L, 
6L, 4L, 6L, 8L, 3L, 2L, 4L, 4L, 6L, 3L, 2L, 6L, 8L, 4L, 6L, 4L, 
4L, 4L, 3L, 3L, 3L, 6L, 4L, 4L, 3L, 3L, 3L, 6L, 6L, 3L, 6L, 6L, 
6L, 4L, 4L, 3L, 2L, 4L, 3L, 6L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 3L, 
4L, 4L, 3L, 3L, 3L, 3L, 4L, 3L, 6L, 3L, 6L, 6L, 4L, 4L, 2L, 3L, 
4L, 4L, 4L, 6L, 6L, 4L, 4L, 4L, 4L, 2L, 3L, 4L, 4L, 3L, 4L, 4L, 
4L, 3L, 6L, 3L, 6L, 3L, 6L, 3L, 6L, 6L, 3L, 3L, 3L, 3L, 3L, 6L, 
6L, 3L, 6L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 6L, 3L, 
3L, 3L, 2L, 4L, 4L, 3L, 6L, 3L, 2L, 7L, 3L, 3L, 3L, 2L, 3L, 2L, 
3L, 4L, 2L, 2L, 3L, 4L, 3L, 3L, 4L, 1L, 6L, 3L, 2L, 3L, 3L, 7L, 
4L, 4L, 3L, 2L, 4L, 2L, 4L, 3L, 3L, 3L, 3L, 6L, 2L, 4L, 2L, 4L, 
4L, 4L, 3L, 3L, 3L, 6L, 6L, 3L, 7L, 6L, 3L, 3L, 3L, 4L, 4L, 3L, 
6L, 4L, 3L, 7L, 4L, 6L, 6L, 2L, 2L, 4L, 3L, 4L, 4L, 2L, 4L, 4L, 
7L, 3L, 4L, 6L, 4L, 6L, 3L, 2L, 3L, 3L, 4L, 4L, 2L, 4L, 3L, 4L, 
3L, 3L, 4L, 6L, 2L, 2L, 6L, 6L, 6L, 2L, 3L, 4L, 4L, 3L, 8L, 6L, 
4L, 4L, 3L, 3L, 5L, 6L, 2L, 3L, 4L, 8L, 6L, 8L, 4L, 4L, 7L, 4L, 
6L, 8L, 4L, 2L, 6L, 6L, 4L, 4L, 1L, 1L, 1L, 1L, 2L, 3L, 3L, 2L, 
6L, 8L, 4L, 3L, 1L, 6L, 6L, 1L, 1L, 1L, 4L, 4L, 8L, 3L, 3L, 2L, 
2L, 4L, 8L, 6L, 4L, 8L, 3L, 3L, 3L, 5L, 4L, 1L, 2L, 2L, 3L, 4L, 
2L, 5L, 4L, 8L, 3L, 8L, 2L, 3L, 4L, 8L, 3L, 6L, 3L, 6L, 6L, 3L, 
3L, 8L, 8L, 3L, 6L, 3L, 3L, 2L, 5L, 3L, 6L, 3L, 2L, 3L, 3L, 3L, 
4L, 3L, 4L, 3L, 4L, 3L, 2L, 2L, 3L, 6L, 4L, 6L, 3L, 3L, 6L, 3L, 
4L, 3L, 2L, 3L, 4L, 4L, 4L, 6L, 6L, 3L, 6L, 4L, 7L, 8L, 6L, 8L, 
8L, 4L, 6L, 4L, 4L, 3L, 4L, 2L, 3L, 2L, 4L, 6L, 4L, 6L, 4L, 6L, 
4L, 6L, 3L, 4L, 3L, 6L, 4L, 4L, 8L, 4L, 8L, 3L, 3L, 6L, 6L, 3L, 
4L, 3L, 3L, 3L, 3L, 6L, 3L, 3L, 3L, 4L, 2L, 4L, 3L, 3L, 6L, 6L, 
4L, 3L, 2L, 3L, 6L, 4L, 3L, 3L, 2L, 3L, 2L, 6L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 2L, 3L, 3L, 6L, 6L, 2L, 3L, 6L, 3L, 2L, 3L, 6L, 
4L, 3L, 3L, 3L, 6L, 6L, 4L, 3L, 8L, 8L, 4L, 3L, 2L, 2L, 3L, 2L, 
3L, 8L, 2L, 3L, 6L, 3L, 3L, 4L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 8L, 
8L, 2L, 3L, 3L, 2L, 2L, 3L, 2L, 2L, 6L, 2L, 3L, 6L, 6L, 8L, 3L, 
4L, 3L, 3L, 6L, 6L, 3L, 3L, 3L, 2L, 6L, 2L, 3L, 6L, 8L, 3L, 4L, 
4L, 6L, 4L, 8L, 4L, 4L, 2L, 6L, 8L, 6L, 4L, 8L, 3L, 8L, 1L, 8L, 
2L, 2L, 2L, 2L, 3L, 3L, 6L, 3L, 3L, 6L, 3L, 3L, 3L, 2L, 3L, 3L, 
3L, 2L, 4L, 3L, 4L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 
3L, 6L, 3L, 3L, 6L, 3L, 2L, 3L, 3L, 3L, 4L, 3L, 3L, 1L, 1L, 1L, 
1L, 3L, 3L, 3L, 3L, 6L, 4L, 3L, 3L, 6L, 3L, 6L, 6L, 4L, 6L, 4L, 
6L, 4L, 4L, 6L, 6L, 6L, 3L, 6L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 
2L, 2L, 8L, 4L, 4L, 6L, 4L, 8L, 6L, 4L, 3L, 4L, 3L, 4L, 6L, 4L, 
6L, 6L, 6L, 4L, 6L, 6L, 4L, 4L, 4L, 2L, 6L, 4L, 2L, 4L, 4L, 3L, 
4L, 6L, 6L, 6L, 3L, 4L, 6L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 
8L, 4L, 4L, 6L, 2L, 8L, 8L, 4L, 6L, 3L, 4L, 8L, 8L, 5L, 3L, 2L, 
4L, 3L, 4L, 6L, 4L, 3L, 4L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 3L, 
6L, 4L, 6L, 6L, 6L, 2L, 3L, 6L, 6L, 3L, 4L, 3L, 2L, 8L, 4L, 8L, 
8L, 3L, 3L, 4L, 6L, 6L, 4L, 6L, 6L, 3L, 4L, 4L, 4L, 3L, 7L, 4L, 
6L), .Label = c("", "IPH8005", "ISB7005", "VIP1200", "VIP1216", 
"VIP1232", "VIP2262NA", "VIP2502W"), class = "factor"), BoxVendor = structure(c(2L, 
2L, 3L, 3L, 2L, 3L, 2L, 2L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 3L, 2L, 
3L, 4L, 3L, 2L, 2L, 3L, 2L, 3L, 3L, 4L, 2L, 3L, 3L, 2L, 3L, 4L, 
4L, 3L, 3L, 4L, 2L, 3L, 2L, 3L, 2L, 2L, 2L, 4L, 4L, 3L, 3L, 2L, 
3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 
3L, 2L, 3L, 3L, 2L, 2L, 4L, 4L, 3L, 2L, 2L, 2L, 4L, 3L, 3L, 2L, 
3L, 2L, 3L, 2L, 3L, 3L, 4L, 3L, 3L, 2L, 2L, 3L, 2L, 3L, 3L, 4L, 
3L, 4L, 2L, 4L, 3L, 2L, 2L, 3L, 2L, 2L, 3L, 2L, 3L, 2L, 2L, 3L, 
3L, 3L, 3L, 2L, 3L, 3L, 4L, 3L, 4L, 3L, 3L, 2L, 2L, 3L, 2L, 3L, 
3L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 
4L, 2L, 4L, 4L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 2L, 2L, 
2L, 2L, 4L, 3L, 3L, 3L, 2L, 4L, 2L, 2L, 3L, 3L, 2L, 3L, 2L, 3L, 
2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 4L, 3L, 4L, 2L, 2L, 3L, 2L, 4L, 
4L, 2L, 3L, 3L, 4L, 3L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 4L, 3L, 
2L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 4L, 3L, 2L, 2L, 2L, 4L, 2L, 3L, 
3L, 2L, 2L, 2L, 4L, 2L, 3L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 2L, 
2L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 4L, 3L, 3L, 3L, 2L, 4L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 3L, 3L, 3L, 2L, 2L, 2L, 
3L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 4L, 3L, 2L, 3L, 2L, 3L, 3L, 
3L, 3L, 4L, 4L, 2L, 3L, 3L, 2L, 2L, 2L, 2L, 3L, 2L, 3L, 2L, 3L, 
3L, 3L, 3L, 4L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 2L, 
3L, 3L, 2L, 3L, 3L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 3L, 2L, 
2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 4L, 
2L, 2L, 2L, 3L, 2L, 2L, 2L, 4L, 3L, 3L, 2L, 3L, 2L, 4L, 3L, 2L, 
2L, 2L, 4L, 2L, 4L, 2L, 3L, 4L, 4L, 2L, 3L, 2L, 2L, 3L, 1L, 3L, 
2L, 4L, 2L, 2L, 3L, 3L, 3L, 2L, 4L, 3L, 4L, 3L, 2L, 2L, 2L, 2L, 
3L, 4L, 3L, 4L, 3L, 3L, 3L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 2L, 
2L, 2L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 3L, 2L, 
3L, 3L, 4L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 2L, 4L, 2L, 2L, 3L, 
3L, 4L, 3L, 2L, 3L, 2L, 2L, 3L, 3L, 4L, 4L, 3L, 3L, 3L, 4L, 2L, 
3L, 3L, 2L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 4L, 2L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 
1L, 4L, 2L, 2L, 4L, 3L, 3L, 3L, 2L, 1L, 3L, 3L, 1L, 1L, 1L, 3L, 
3L, 3L, 2L, 2L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 3L, 3L, 
1L, 4L, 4L, 2L, 3L, 4L, 3L, 3L, 3L, 2L, 3L, 4L, 2L, 3L, 3L, 2L, 
3L, 2L, 3L, 3L, 2L, 2L, 3L, 3L, 2L, 3L, 2L, 2L, 4L, 3L, 2L, 3L, 
2L, 4L, 2L, 2L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 4L, 4L, 2L, 3L, 3L, 
3L, 2L, 2L, 3L, 2L, 3L, 2L, 4L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 4L, 2L, 4L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
2L, 2L, 3L, 3L, 2L, 3L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 3L, 4L, 
3L, 2L, 2L, 3L, 3L, 3L, 2L, 4L, 2L, 3L, 3L, 2L, 2L, 4L, 2L, 4L, 
3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 3L, 3L, 4L, 2L, 
3L, 2L, 4L, 2L, 3L, 3L, 2L, 2L, 2L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 
2L, 4L, 4L, 2L, 4L, 2L, 3L, 4L, 2L, 3L, 2L, 2L, 3L, 2L, 2L, 3L, 
2L, 2L, 2L, 2L, 3L, 3L, 4L, 2L, 2L, 4L, 4L, 2L, 4L, 4L, 3L, 4L, 
2L, 3L, 3L, 3L, 2L, 3L, 2L, 2L, 3L, 3L, 2L, 2L, 2L, 4L, 3L, 4L, 
2L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 
3L, 2L, 3L, 1L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 3L, 2L, 2L, 3L, 2L, 
2L, 2L, 4L, 2L, 2L, 2L, 4L, 3L, 2L, 3L, 4L, 4L, 2L, 2L, 2L, 2L, 
2L, 2L, 4L, 4L, 2L, 2L, 3L, 2L, 2L, 3L, 2L, 4L, 2L, 2L, 2L, 3L, 
2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 2L, 3L, 2L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 2L, 2L, 2L, 
4L, 2L, 2L, 2L, 2L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 
3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 
3L, 4L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 2L, 2L, 2L, 
2L, 2L, 2L, 4L, 4L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 2L, 3L, 
3L, 3L, 3L, 2L, 4L, 3L, 2L, 3L, 3L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 
2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 2L, 3L, 3L, 2L, 3L, 
2L, 4L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 
3L, 3L, 2L, 3L, 3L, 3L), .Label = c("", "CISCO", "MOTOROLA", 
"PACE"), class = "factor"), Receiver_TotalVideoDecoderErrors = c(3L, 
204L, 0L, 0L, 3393L, 909L, 1556L, 48L, 0L, 0L, 0L, 182L, 19L, 
0L, 0L, 0L, 77L, 0L, 0L, 0L, 6L, 1002L, 10L, 0L, 0L, 6938L, 0L, 
299L, 49L, 245L, 0L, 41L, 0L, 0L, 717L, 31L, 0L, 75L, 37L, 71L, 
0L, 40L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 
1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 1230L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 22L, 0L, 0L, 1384L, 95L, 0L, 0L, 
0L, 437L, 119L, 910L, 0L, 0L, 8679L, 20L, 68L, 7L, 0L, 0L, 16L, 
0L, 0L, 0L, 0L, 74L, 1L, 0L, 82L, 0L, 0L, 0L, 0L, 0L, 21L, 0L, 
0L, 279L, 40L, 0L, 1483L, 3L, 0L, 132L, 0L, 0L, 171L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 90L, 0L, 0L, 0L, 0L, 
0L, 111L, 0L, 0L, 0L, 0L, 0L, 18L, 0L, 0L, 0L, 217L, 0L, 0L, 
1687L, 0L, 0L, 25L, 0L, 0L, 0L, 0L, 0L, 60L, 0L, 0L, 7L, 0L, 
0L, 0L, 0L, 1L, 20L, 0L, 0L, 0L, 0L, 0L, 230L, 0L, 169L, 0L, 
0L, 0L, 889L, 0L, 3L, 0L, 48L, 2951L, 10L, 531L, 0L, 0L, 0L, 
0L, 0L, 232L, 0L, 0L, 125L, 0L, 39L, 0L, 0L, 262L, 0L, 0L, 0L, 
0L, 1270L, 6L, 0L, 0L, 88L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 297L, 
124L, 419L, 0L, 483L, 280L, 0L, 0L, 127L, 93L, 368L, 0L, 209571L, 
0L, 0L, 21L, 62L, 11L, 0L, 501L, 0L, 169L, 34L, 32L, 25L, 188L, 
0L, 1596L, 0L, 41L, 183L, 0L, 805L, 3L, 0L, 0L, 0L, 0L, 297L, 
90L, 0L, 0L, 0L, 0L, 691L, 0L, 0L, 4L, 0L, 0L, 0L, 0L, 0L, 23L, 
52L, 0L, 0L, 0L, 0L, 58L, 18L, 93L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 9L, 0L, 0L, 11381L, 0L, 34L, 0L, 0L, 26L, 0L, 0L, 0L, 318L, 
0L, 0L, 36L, 0L, 6534L, 22L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 18L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 35L, 0L, 0L, 
30L, 0L, 0L, 0L, 51L, 0L, 7L, 0L, 84L, 0L, 9L, 0L, 0L, 48L, 65L, 
23L, 0L, 60312L, 0L, 0L, 28L, 0L, 32L, 0L, 0L, 283L, 406L, 44L, 
0L, 0L, 0L, 2L, 824L, 0L, 0L, 2487L, 95L, 0L, 0L, 0L, 0L, 0L, 
56L, 0L, 1L, 4640L, 12L, 3626L, 0L, 0L, 0L, 420L, 0L, 0L, 0L, 
49L, 0L, 78L, 8L, 0L, 0L, 0L, 380L, 0L, 0L, 7L, 1194L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 29L, 489L, 584L, 47L, 2L, 0L, 0L, 0L, 0L, 
0L, 0L, 899L, 120L, 0L, 0L, 0L, 26L, 656L, 0L, 0L, 0L, 50L, 0L, 
0L, 0L, 0L, 0L, 6L, 14L, 0L, 0L, 0L, 0L, 0L, 0L, 89L, 0L, 0L, 
0L, 0L, 0L, 104L, 0L, 0L, 0L, 0L, 0L, 217L, 0L, 50L, 14L, 0L, 
0L, 0L, 0L, 21L, 0L, 73L, 403L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
14L, 0L, 0L, 2769L, 5878L, 0L, 0L, 0L, 37L, 0L, 0L, 0L, 0L, 0L, 
0L, 258L, 0L, 5560L, 0L, 0L, 722L, 0L, 0L, 707L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 95L, 0L, 0L, 13L, 0L, 37L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 150L, 65L, 0L, 0L, 0L, 78L, 
0L, 0L, 0L, 4L, 10L, 25L, 0L, 0L, 0L, 0L, 0L, 13L, 0L, 0L, 0L, 
0L, 0L, 47L, 103L, 0L, 9L, 0L, 116L, 27L, 0L, 7L, 0L, 0L, 6L, 
3L, 831L, 1396L, 545L, 0L, 226L, 79L, 0L, 0L, 101L, 0L, 3370L, 
0L, 36L, 98L, 25L, 0L, 290L, 0L, 3L, 0L, 193L, 0L, 0L, 10L, 0L, 
0L, 0L, 188L, 4L, 0L, 3L, 0L, 0L, 0L, 155L, 0L, 0L, 0L, 0L, 0L, 
58L, 0L, 0L, 56L, 0L, 0L, 209L, 60L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 458L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 40L, 0L, 0L, 4L, 1L, 0L, 0L, 5L, 0L, 548L, 123L, 387L, 
723L, 0L, 522L, 384L, 0L, 0L, 0L, 0L, 472L, 1L, 0L, 0L, 0L, 24L, 
0L, 91L, 0L, 0L, 11L, 47L, 0L, 11L, 0L, 0L, 27L, 17L, 156L, 0L, 
29L, 5L, 0L, 0L, 0L, 15L, 79L, 0L, 0L, 0L, 137L, 0L, 75L, 0L, 
0L, 0L, 0L, 0L, 0L, 670L, 0L, 0L, 0L, 17L, 23L, 1L, 0L, 160L, 
0L, 0L, 235L, 0L, 272L, 16L, 0L, 1803L, 0L, 4780L, 26L, 0L, 90L, 
17L, 0L, 1518L, 151L, 1L, 768L, 151L, 42L, 0L, 9161L, 57L, 0L, 
0L, 73L, 0L, 0L, 0L, 0L, 3086L, 0L, 0L, 0L, 1896L, 0L, 240L, 
165L, 0L, 0L, 722L, 282L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 4L, 0L, 
0L, 0L, 0L, 212L, 0L, 0L, 0L, 0L, 285L, 0L, 0L, 9L, 1349L, 1417L, 
30792L, 2163L, 0L, 0L, 0L, 0L, 969L, 0L, 0L, 0L, 8L, 0L, 100L, 
109L, 48L, 0L, 100L, 109L, 48L, 0L, 0L, 61L, 0L, 0L, 0L, 86L, 
967L, 2679L, 86L, 967L, 2679L, 0L, 0L, 0L, 32L, 0L, 0L, 32L, 
0L, 4L, 0L, 0L, 54L, 341L, 0L, 54L, 341L, 0L, 0L, 0L, 0L, 401L, 
83L, 83L, 6L, 0L, 0L, 46L, 442L, 0L, 46L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 245L, 0L, 245L, 599L, 78L, 0L, 58L, 54L, 
0L, 54L, 0L, 0L, 16L, 0L, 0L, 0L, 0L, 30L, 0L, 0L, 305L, 0L, 
305L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 27L, 0L, 0L, 0L, 0L, 536L, 0L, 0L, 0L, 10L, 66L, 
20L, 66L, 899L, 4L, 0L, 0L, 233L, 0L, 0L, 0L, 0L, 233L, 3L, 0L, 
0L, 8L, 0L, 0L, 0L, 0L, 13L, 0L, 0L, 428L, 0L, 0L, 0L, 428L, 
0L, 172L, 0L, 0L, 0L, 12L, 13L, 13L, 0L, 35L, 0L, 0L, 0L, 0L, 
0L, 0L, 49L, 0L, 0L, 0L, 0L, 639L, 0L, 78L, 0L, 4386L, 78L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 2076L, 6L, 0L, 0L
)), .Names = c("BoxType", "BoxVendor", "Receiver_TotalVideoDecoderErrors"
), class = "data.frame", row.names = c(NA, -999L))

      

+3


source to share


2 answers


Way ifelse

Assuming your CSV was loaded into a named dataframe boxdata

with the same column names as the CSV:

ifelse(boxdata$Receiver_TotalVideoDecoderErrors, 'Error', 'No error')

      



Explanation

The best way to demonstrate ifelse

is with an example:

x <- 1:5

x_lessthan_4 <- x < 4
x_lessthan_4
# [1]  TRUE  TRUE  TRUE FALSE FALSE

if_lessthan_4 <- -x
if_lessthan_4
# [1] -1 -2 -3 -4 -5 

if_notlessthan_4 <- x + 100
if_notlessthan_4
# [1] 101 102 103 104 105

ifelse(test = if_notlessthan_4,
       yes = if_lessthan_4,
       no = if_notlessthan_4)
# [1]  -1  -2  -3 104 105

      

Hope it's clear what this function does. Obviously, you don't need to always supply arguments as long as they are in the correct order; I'm just doing it here so you can see exactly what's going on.

However, you will notice that the expression

ifelse(boxdata$Receiver_TotalVideoDecoderErrors, 'Error', 'No error')

      



does not meet this standard. This works because two things happen under the hood:

  • test

    is "forced" logically, so if I pass in something like the test = c(1, 3, 0)

    value test

    will be replaced with as.logical(test)

    , so it test = c(1, 3, 0)

    becomes test = c(TRUE, TRUE, FALSE)

    .
  • yes

    and no

    "reworked" if shorter test

    and truncated if longer.

Reuse is again best demonstrated with an example:

test <- c(TRUE, FALSE, TRUE, TRUE, FALSE)
yes <- c(1, 2, 3)
no <- c(99, 100, 101, 102, 103, 104)
c(length(test), length(yes), length(no))
# [1] 5 3 6
ifelse(test, yes, no)
# [1]   1 100   3   1 103

      

These things are documented, but easy to miss if you're not used to reading the R help files.

Finally, the help file also says this, which is worth noting:

Missing values โ€‹โ€‹in test

give missing values โ€‹โ€‹in the result.

This means it ifelse(c(NA, 1, 0, 1), 99, 100)

returns c(NA, 99, 100, 99)

.

So,

ifelse(boxdata$Receiver_TotalVideoDecoderErrors, 'Error', 'No error')

      



equivalent to

test <- as.logical(boxdata$Receiver_TotalVideoDecoderErrors)
yes <- rep('Error', length(test))
no <- rep('No error', length(test))
ifelse(test, yes, no)

      

Smooth way

Or, allow argument rewriting to get the job done for you. Shorter and more efficient, but arguably less readable for someone unfamiliar with R:

c('No error', 'Error')[as.logical(boxdata$Receiver_TotalVideoDecoderErrors) + 1]

      

or

c('Error', 'No error')[!as.logical(boxdata$Receiver_TotalVideoDecoderErrors) + 1]

      

Explanation

First, the statement

as.logical(boxdata$Receiver_TotalVideoDecoderErrors) + 1

      

equivalent to:

i <- as.logical(boxdata$Receiver_TotalVideoDecoderErrors)
i <- as.numeric(i)  # FALSE -> 0, TRUE -> 1
i <- i + rep(1, length(i))

      

Finally, scrapping also applies to a subset of:

c('No error', 'Error')[c(1, 2, 1, 1, 2)]
# [1] "No error" "Error"    "No error" "No error" "Error"

      

So this is all equivalent:

i <- as.logical(boxdata$Receiver_TotalVideoDecoderErrors)
i <- as.numeric(i)
i <- i + rep(1, length(i))
c('No error', 'Error')[i]

      

Long way ( suggested here )

This method does not need much explanation. This is a lot more printing, but easy to read and flexible:

x <- boxdata$Receiver_TotalVideoDecoderErrors
x[x > 0] <- 'Error'
x[x == 0] <- 'No error'

      

+7


source


Try using the command and some boolean operators to quickly locate the index locations for values โ€‹โ€‹equal to 0 and values โ€‹โ€‹greater than 0. From there, you can replace the original numeric values โ€‹โ€‹with a string. Try something like this:

data$Receiver_TotalVideoDecoderErrors[which(data$Receiver_TotalVideoDecoderErrors == 0)] = "no error"
data$Receiver_TotalVideoDecoderErrors[which(data$Receiver_TotalVideoDecoderErrors > 0)] = "error"

      



Hope it helps.

+2


source







All Articles