Просто для удовольствия: простое решение для JavaScript.
document.querySelectorAll('.container').forEach(clear);
function clear(element) {
element.childNodes.forEach(check, element);
}
function check(item) {
if (item.nodeType === 3) this.removeChild(item);
}
span {
display: inline-block;
width: 100px;
background-color: palevioletred;
}
<p class="container">
<span> Foo </span>
<span> Bar </span>
</p>
Просто обновите ответ @ rafa.pereira. Поскольку ggplot2
является частью tidyverse
, имеет смысл использовать удобные tidyverse функции, чтобы избавиться от NA.
library(tidyverse)
airquality %>%
drop_na(Ozone) %>%
ggplot(aes(x = Ozone))+
geom_bar(stat="bin")
Обратите внимание, что вы также можете использовать drop_na()
без спецификации столбцов; то все строки с NA в любом столбце будут удалены.
С моей точки зрения, эта ошибка «Ошибка: эстетика должна быть либо одной, либо той же длиной, что и данные» относится к аргументу aes (x, y). Я попробовал na.omit () и работал просто отлично мне.
Не уверен, что вы решили проблему. Для этой проблемы вы можете использовать функцию «фильтр» в пакете dplyr. Идея состоит в том, чтобы отфильтровать наблюдения / строки, значения переменных которых не являются NA. Затем вы создадите график с этими отфильтрованными наблюдениями. Вы можете найти мои коды ниже, и обратите внимание, что все имя фрейма данных и переменной копируется из подсказки вашего вопроса. Кроме того, я предполагаю, что вы знаете операторов труб.
library(tidyverse)
MyDate %>%
filter(!is.na(the_variable)) %>%
ggplot(aes(x= the_variable, fill=the_variable)) +
geom_bar(stat="bin")
Вы должны уметь удалить раздражающие NA на вашем участке. Надеюсь, что это работает:)
Вы можете использовать функцию subset
внутри ggplot2
. Попробуйте
library(ggplot2)
data("iris")
iris$Sepal.Length[5:10] <- NA # create some NAs for this example
ggplot(data=subset(iris, !is.na(Sepal.Length)), aes(x=Sepal.Length)) +
geom_bar(stat="bin")
Кроме того, будет добавлено na.rm = TRUE к вашему geom_bar ().
ggplot(data = MyData,aes(x= the_variable, fill=the_variable, na.rm = TRUE)) +
geom_bar(stat="bin", na.rm = TRUE)
Я столкнулся с этой проблемой с циклом в временном ряду, и это исправило это. Отсутствующие данные удаляются, и результаты в противном случае не могут быть изменены.