在r中用布尔值替换数字

在r中用布尔值替换数字,r,csv,replace,weka,R,Csv,Replace,Weka,我想使用weka来预测未来的实例。我有一个csv文件,其中一小部分如下: 我使用r读取文件,但我不确定如何将零替换为“无错误”,以及如何将零以外的任何内容替换为“错误”。我本想这样离开,但不幸的是,weka无法预测状态为数字的实例 编辑2:我尝试了你的解决方案,尽管它将数字改为error/no error,但它删除了其他列。我做错什么了吗?我还把它写进了一个文件,这样更容易看到 编辑3: dput(data) structure(list(BoxType = structure(c(3L,

我想使用
weka
来预测未来的实例。我有一个
csv
文件,其中一小部分如下:

我使用
r
读取文件,但我不确定如何将零替换为“无错误”,以及如何将零以外的任何内容替换为“错误”。我本想这样离开,但不幸的是,
weka
无法预测状态为数字的实例

编辑2:我尝试了你的解决方案,尽管它将数字改为error/no error,但它删除了其他列。我做错什么了吗?我还把它写进了一个文件,这样更容易看到

编辑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))
ifelse
方式 假设您的CSV已加载到名为
boxdata
的数据框中,其列名与CSV中的列名相同:

ifelse(boxdata$Receiver_TotalVideoDecoderErrors, 'Error', 'No error')
解释 演示ifelse的最佳方法是举例:

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
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
不符合本标准。它之所以有效,是因为“引擎盖下”发生了两件事:

  • test
    被“强制”为逻辑,因此如果我通过类似
    test=c(1,3,0)
    的测试,则
    test
    的值将被替换为
    as.logical(test)
    ,因此
    test=c(1,3,0)
    将变成
    test=c(真,假)
  • yes
    no
    如果短于
    test
    则被“回收”,如果长则被截断
  • 再举一个最好的例子来说明回收:

    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
    
    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
    
    相当于

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

    解释 首先,声明

    as.logical(boxdata$Receiver_TotalVideoDecoderErrors) + 1
    
    相当于:

    i <- as.logical(boxdata$Receiver_TotalVideoDecoderErrors)
    i <- as.numeric(i)  # FALSE -> 0, TRUE -> 1
    i <- i + rep(1, length(i))
    
    i <- as.logical(boxdata$Receiver_TotalVideoDecoderErrors)
    i <- as.numeric(i)
    i <- i + rep(1, length(i))
    c('No error', 'Error')[i]
    
    所以整个事情相当于:

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

    i尝试使用which命令和一些逻辑运算符快速确定等于0和大于0的值的索引位置。从那里可以用字符串替换原始数值。试着这样做:

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

    希望有帮助

    尝试
    v1您应该在问题中分享您的实际R对象。请给我们
    dput(数据)
    ,以便我们可以复制/粘贴它@Gregor添加为edit 3。@用户我发布的行返回一列。您需要将该列分配回数据框中的某个位置。比如:
    boxdata$Receiver\u TotalVideoDecoderErrors嘿。我想知道如何才能做到同样的效果,但不是将每个数字都更改为
    错误
    ,而是只更改高于某个数字的数字?我阅读了它,这就是我想到的。我敢肯定,尽管
    data$Tuner\u totalholetolarge 58,data$Tuner\u totalholetolarge,NA)](data$Tuner\u totalholetolarge)+1]
    ,我还是彻底毁掉了它。我不知道如何处理
    NA
    @用户,你把我发布的两个示例混在一起了。我更新了答案,解释了这两个问题。虽然更新了答案,但我最终还是使用了ssdecontrol的建议。无论如何,谢谢。您不需要
    这里的
    。您可以直接使用逻辑向量进行子集。
    
    x <- boxdata$Receiver_TotalVideoDecoderErrors
    x[x > 0] <- 'Error'
    x[x == 0] <- 'No error'
    
    data$Receiver_TotalVideoDecoderErrors[which(data$Receiver_TotalVideoDecoderErrors == 0)] = "no error"
    data$Receiver_TotalVideoDecoderErrors[which(data$Receiver_TotalVideoDecoderErrors > 0)] = "error"