我有一个字符向量,看起来像:
"Internet" "Internet" "-1" "-5" "Internet" "Internet"
Run Code Online (Sandbox Code Playgroud)
我想替换所有可能是负数值(-1,-5等)的值NA.
我用这段代码做到了:
hintsData$WhereSeekHealthInfo[hintsData$WhereSeekHealthInfo < 0] <- NA
Run Code Online (Sandbox Code Playgroud)
这似乎有效:
head(hintsData$WhereSeekHealthInfo)
# [1] "Internet" "Internet" NA NA "Internet" "Internet"
Run Code Online (Sandbox Code Playgroud)
但是当我这样做的时候
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] NA
Run Code Online (Sandbox Code Playgroud)
基本上我不能再将这些值相加,因为我以某种方式改变了矢量?
在运行NA代码之前,我能够运行代码并获得:
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] 1691
Run Code Online (Sandbox Code Playgroud)
那么,如何用NA替换"-1"," - 5"等值,但仍然得到:
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] 1691
Run Code Online (Sandbox Code Playgroud)
如果您有任何想法,请告诉我.我确实找到了关于用NA替换的其他问题但是因为我不知道为什么一旦我用NA替换我就不能再计算值了我不知道要搜索什么或排除.