"other" 变成 "NA"
"other" turn into "NA"
我有一个 data.frame (DL),其中一个列名是 fruit,就像 c("apple", "lemon", "orange", "others") 所以我想更改此列的级别,以便图例的顺序(当我创建绘图时)将遵循我想要的顺序。这是我的代码
DL$fruit <- factor(DL$fruit, levels=c("lemon", "apple", "orange", "others"))
但是当我在此之后使用 View(DL) 查看此数据时,"others" 将变为 "NA"。当我对它进行 ggplot 时,它不会显示 "others" 的条形图。有谁知道发生了什么以及如何解决它?谢谢
如果您的数据不是很干净,有时会发生这种情况,例如,如果您在输入值周围有多余的空格。
这是一个例子:
fruit <- c("apple", "lemon", "orange", "others", "others ") ## note the last two values
factor(fruit, levels=c("lemon", "apple", "orange", "others"))
# [1] apple lemon orange others <NA>
# Levels: lemon apple orange others
现在,让我们去掉空格:
newFruit <- gsub("^\s+|\s+$", "", fruit)
factor(newFruit, levels = unique(newFruit))
# [1] apple lemon orange others others
# Levels: apple lemon orange others
如果您想检查源数据并查找空格,有时使用 print
和 quote = TRUE
:
会有所帮助
print(fruit, quote = TRUE)
# [1] "apple" "lemon" "orange" "others" "others "
或者,grepl
也可以使用:
grepl("^\s+|\s+$", fruit)
# [1] FALSE FALSE FALSE FALSE TRUE
我有一个 data.frame (DL),其中一个列名是 fruit,就像 c("apple", "lemon", "orange", "others") 所以我想更改此列的级别,以便图例的顺序(当我创建绘图时)将遵循我想要的顺序。这是我的代码
DL$fruit <- factor(DL$fruit, levels=c("lemon", "apple", "orange", "others"))
但是当我在此之后使用 View(DL) 查看此数据时,"others" 将变为 "NA"。当我对它进行 ggplot 时,它不会显示 "others" 的条形图。有谁知道发生了什么以及如何解决它?谢谢
如果您的数据不是很干净,有时会发生这种情况,例如,如果您在输入值周围有多余的空格。
这是一个例子:
fruit <- c("apple", "lemon", "orange", "others", "others ") ## note the last two values
factor(fruit, levels=c("lemon", "apple", "orange", "others"))
# [1] apple lemon orange others <NA>
# Levels: lemon apple orange others
现在,让我们去掉空格:
newFruit <- gsub("^\s+|\s+$", "", fruit)
factor(newFruit, levels = unique(newFruit))
# [1] apple lemon orange others others
# Levels: apple lemon orange others
如果您想检查源数据并查找空格,有时使用 print
和 quote = TRUE
:
print(fruit, quote = TRUE)
# [1] "apple" "lemon" "orange" "others" "others "
或者,grepl
也可以使用:
grepl("^\s+|\s+$", fruit)
# [1] FALSE FALSE FALSE FALSE TRUE