Вопросы о недостающих данных

Я полагаю, что UML полезен только для того, что это заставляет людей думать об отношениях между своими классами. Это - хорошая начальная точка, чтобы начать думать о таких отношениях, но это - определенно не решение для всех.

Я верю, что использование UML субъективно к ситуации, в которой работает группа разработчиков.

6
задан Paul 4 March 2016 в 10:29
поделиться

3 ответа

na.omit () примет матрицы (и фреймы данных) и возвращать только те строки без каких-либо значений NA - требуется complete.cases () еще один шаг, удаляя за вас строки FALSE.

> x <- data.frame(c(1,2,3), c(4, NA, 6))
> x
  c.1..2..3. c.4..NA..6.
1          1           4
2          2          NA
3          3           6
> na.omit(x)
  c.1..2..3. c.4..NA..6.
1          1           4
3          3           6
6
ответ дан 9 December 2019 в 20:46
поделиться

Я думаю, что na.rm обычно работает только внутри функций, например, для функции mean . Я бы выбрал complete.cases : http://stat.ethz.ch/R-manual/R-patched/library/stats/html/complete.cases.htm

let скажем, у вас есть следующая матрица 3x3:

x <- matrix(c(1:8, NA), 3, 3)

> x
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6   NA

, тогда вы можете получить полные варианты этой матрицы с помощью

y <- x[complete.cases(x),]

> y
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8

. complete.cases -функция возвращает вектор значений истинности, который говорит, является ли случай завершен:

> complete.cases(x)
[1]  TRUE  TRUE FALSE

, а затем вы индексируете строки матрицы x и добавляете ",", чтобы указать, что вам нужны все столбцы.

5
ответ дан 9 December 2019 в 20:46
поделиться

Если вы хотите удалить строки, содержащие NA, вы можете использовать apply () для применения быстрой функции к проверьте каждую строку. Например, если ваша матрица x,

goodIdx <- apply(x, 1, function(r) !any(is.na(r)))
newX <- x[goodIdx,]
1
ответ дан 9 December 2019 в 20:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: