R 当N/A不是缺失值时,将N/A替换为0

R 当N/A不是缺失值时,将N/A替换为0,r,R,我有一个出现N/a的数据集,但N/a表示0,因此它本身不是一个缺少的值。具体而言,如果没有车库,则数据不适用。 我已经按照通常的方式更改为数值,但它对我不起作用。我是新手,所以我的知识有限,但这让我发疯。 我应该如何处理这个问题?这里有一个想法。我们可以使用ifelse将目标值替换为0 # Create an example data frame dat <- data.frame(a = c("1", "5", "3", &qu

我有一个出现N/a的数据集,但N/a表示0,因此它本身不是一个缺少的值。具体而言,如果没有车库,则数据不适用。 我已经按照通常的方式更改为数值,但它对我不起作用。我是新手,所以我的知识有限,但这让我发疯。
我应该如何处理这个问题?

这里有一个想法。我们可以使用
ifelse
将目标值替换为
0

# Create an example data frame
dat <- data.frame(a = c("1", "5", "3", "N/A"),
                  b = c("a", "b", "c", "d"))

# Replace N/A with 0 in column a
dat$a <- ifelse(dat$a %in% "N/A", "0", dat$a)
# Convert column a to numeric
dat$a <- as.numeric(dat$a)

# See the results
dat
#   a b
# 1 1 a
# 2 5 b
# 3 3 c
# 4 0 d
#创建一个示例数据帧

dat我编辑了我对这个问题的回答:

library(dplyr)
library(readr)
library(stringr)

df <- tibble(x = c("1", "2", "N/A"), y = c("4", "N/A", "5"))

df %>%
  mutate(across(x:y, ~ str_replace(.x, "N/A", "0")), 
         across(x:y, ~ parse_double(.x))) 

# A tibble: 3 x 2
      x     y
  <dbl> <dbl>
1     1     4
2     2     0
3     0     5
库(dplyr)
图书馆(readr)
图书馆(stringr)
df%
突变(跨越(x:y,~str_replace(.x,“N/A”,“0”)),
跨越(x:y,~parse_double(.x)))
#一个tibble:3x2
xy
1     1     4
2     2     0
3     0     5

您是否尝试过
mydata[is.na(mydata)]请查看我的答案,看看这是否有效,或者您是否有任何问题。将来,最好包括一个可复制的示例。这将使其他人更容易回答你的问题。此链接之一应该适合你。如果您有字符串“NA”,请使用
mydata[mydata='NA']问题指定字符串“N/A”应替换为0,而不是NA。哦,对不起,这是一个巨大的错误。非常感谢@neilfws先生让我知道。