【发布时间】:2019-08-02 11:59:48
【问题描述】:
我有一个每天都会修改的数据框。当发生错误时,检查它,如果可以解决,则在错误消息的开头添加关键字“REVISED”。像这样:
ID M1 M2 M3
1 NA "REVISED-error" "error"
2 "REVISED-error" "REVISED-error" NA
3 "REVISED-error" "REVISED-error" "error"
4 NA "error" NA
5 NA NA NA
我想找个方法加两列,帮我判断有没有错误,修改了多少。像这样:
ID M1 M2 M3 i1 ix
1 NA "REVISED-error" "error" 2 1 <- 2 errors, 1 revised
2 "REVISED-error" "REVISED-error" NA 2 2
3 "REVISED-error" "REVISED-error" "error" 3 2
4 NA "error" NA 1 0
5 NA NA NA 0 0
我找到了这段代码:
df <- df%>%mutate(i1 = rowSums(!is.na(.[2:4])))
这有助于我了解这些特定列中有多少错误。我如何知道是否有任何上述错误包含关键字 REVISED?我已经尝试了一些方法,但到目前为止都没有奏效:
df <- df%>%
mutate(i1 = rowSums(!is.na(.[2:4])))%>%
mutate(ie = rowSums(.[2:4) %in% "REVISED")
这会返回错误x must be an array of at least two dimensions
【问题讨论】:
-
什么定义了错误?这里的 2 是什么意思?
1 NA REVISED-x X 2 1 -
@NelsonGon 你是什么意思?错误是这样的字符串
This is an error,如果我解决了这个问题,我会添加Revised_This is an error。这能回答你的问题吗? -
好的,
ix和i1呢,它们应该显示什么?在我看来,NA确实以某种方式对ix做出了贡献,但不是很清楚。 -
@NelsonGon i1 应该按行播种多少错误(例如,ID 1 有 2 个错误), ix 显示已修改了多少错误(对于 ID 1,只有一个它的错误已被修改,所以 1) 等等。 NA 被认为没有错误,我的意思是如果它是空的,那么就没有错误
-
@NelsonGon 希望编辑现在更有意义