如何过滤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)
)
在我的数据集中,有一些空值 (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)
)