如何过滤R中的2个值?

How to filter 2 values in R?

在我的数据集中,有一些空值 (NA) 和“待定”值。我想删除这 2 个值。这个我试过了,没用。

train%>%
  filter(!is.na(User_Score) & User_Score!="tbd")%>%
  summarise(
    Max=max(User_Score),
    Min=min(User_Score),
    Mean=mean(User_Score),
    Median=median(User_Score),
    QUA1=quantile(User_Score,1/4),
    QUA3=quantile(User_Score,3/4),
    IQR=IQR(User_Score)
)

这个我也试过了,还是一样

train%>%
filter(User_Score != NA & User_Score != "tbd")%>%
summarise(
 Max=max(User_Score),
 Min=min(User_Score),
 Mean=mean(User_Score),
 Median=median(User_Score),
 QUA1=quantile(User_Score,1/4),
 QUA3=quantile(User_Score,3/4),
 IQR=IQR(User_Score)
)

错误说:

argument is not numeric or logical: returning NAargument is not numeric or logical: returning NAError: Problem with `summarise()` input `QUA1`.
x non-numeric argument to binary operator
i Input `QUA1` is `quantile(User_Score, 1/4)`.
Run `rlang::last_error()` to see where the error occurred.

有什么解决办法吗?之前谢谢

一列只能有一种类型的数据。由于数据中的值不是数字 ('tbd'),因此列的类型是字符。删除值后将列转换为数字,然后执行计算。

library(dplyr)

result <- train%>%
  mutate(User_Score = suppressWarnings(readr::parse_number(User_Score))) %>%
  filter(!is.na(User_Score)) %>%
  summarise(
    Max=max(User_Score),
    Min=min(User_Score),
    Mean=mean(User_Score),
    Median=median(User_Score),
    QUA1=quantile(User_Score,1/4),
    QUA3=quantile(User_Score,3/4),
    IQR=IQR(User_Score)
  )