【发布时间】:2013-03-25 22:38:50
【问题描述】:
我有一个看起来像这样的字符向量:
"Internet" "Internet" "-1" "-5" "Internet" "Internet"
我想替换所有负数值的值(-1、-5等)
NA。
我用这段代码做到了:
hintsData$WhereSeekHealthInfo[hintsData$WhereSeekHealthInfo < 0] <- NA
这似乎奏效了:
head(hintsData$WhereSeekHealthInfo)
# [1] "Internet" "Internet" NA NA "Internet" "Internet"
但是当我这样做的时候
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] NA
基本上我不能再对这些值求和了,因为我以某种方式更改了向量?
在运行 NA 代码之前,我能够运行代码并得到这个:
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] 1691
那么,如何将“-1”、“-5”等值替换为 NA,但仍然得到:
> sum(hintsData$WhereSeekHealthInfo == "Internet")
# [1] 1691
如果您有任何想法,请告诉我。我确实找到了有关替换为 NA 的其他问题,但由于我不知道为什么一旦我替换为 NA 我就不能再计算值了,所以我不确定要搜索或排除什么。
【问题讨论】:
-
在
sum中使用na.rm = TRUE。 -
只是另一个问题?引号重要吗?那么你应该用“NA”替换数字还是只是一个错字?
-
多亏了你们,我只是想的不对。现在可以了。 :)