r-使用if-else语句翻译并删除操作



所以我正在处理一个数据集,该数据集有一列具有许多不同的值。为了给你们一个想法,我创建了下面的样本。我想添加一些功能,以跳过许多手工工作。

一个小例子:

Species = c(
"setosa", "setosa", "setosa", "setosa",
"setosa", "setosa", "setosa", "setosa", 
"setosa", "setosa", "setosa", "setosa", 
"setosa", "setosa", "setosa", "setosa", 
"setosa", "setosa", "versicolor", "versicolor",
"versicolor", "versicolor", "versicolor", "versicolor",
"versicolor", "versicolor", "versicolor", "versicolor",
"versicolor", "versicolor", "versicolor", "versicolor", "versicolor",
"versicolor", "versicolor", "versicolor", "versicolor",
"virginica", "virginica", "virginica", "virginica", "virginica",
"virginica", "virginica", "virginica", "virginica",
"virginica", "virginica", "virginica", "virginica"

因此,对于上面的数据集,我想重命名这些值。未提及的值应改为空值,如"0"&";。(见下文示例(

library(dplyr)
translate <- function(x) {
x %>% recode(
"setosa" = "good",
"verginica" = "bad"
"versicolor" = "")
translate(Species)

我想知道是否有一个选项可以更改最后一个";versicolor"="quot;到某种类型的CCD_ 1语句,其中所有其他值(因此不仅是versicolor(将被改变为空值">

您可以考虑在数据集中添加一个新列。例如,

# for values that are not mentioned
data$Species1 <- ""
# for values that are mentioned
data$Species1[which(data$Species == "setosa")] <- "good"
data$Species1[which(data$Species == "verginica")] <- "bad"

您可以将Species1保留在数据集中,也可以将其替换为Species,然后删除Species1。

data$Species <- data$Species1

最新更新