Подсчет не NA в кадре данных; получать ответ как вектор

Я нашел ответ здесь http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash

Кажется, что причина vim smartindent является причиной проблемы. На приведенной выше странице описываются рабочие раунды, но после прочтения справки в smartindent в самом vim (: help smartindent) я решил попробовать cindent вместо smartindent.

Я заменил

set smartindent

с

set cindent

в моем файле .vimrc

, и до сих пор он работает отлично.

Это изменило и зафиксировало поведение ' & Lt; & Lt;» и '>>' для отступов визуальных блоков, которые включают комментарии к python.

Есть больше вариантов конфигурации и информации об углублении в помощи vim для smartindent и cindent (: help smartindent и: help cindent).

23
задан Blue Magister 8 August 2013 в 01:28
поделиться

4 ответа

Попробуйте:

# define "demo" dataset
ZZZ <- data.frame(n=c(1,2,NA),m=c(6,NA,NA),o=c(7,8,8))
# apply the counting function per columns
apply(ZZZ, 2, function(x) length(which(!is.na(x))))

Выполнив:

> apply(ZZZ, 2, function(x) length(which(!is.na(x))))
n m o 
2 1 3 

Если вы действительно настаиваете на возвращении вектора, вы можете использовать as.vector, например, определив эту функцию:

nonNAs <- function(x) {
    as.vector(apply(x, 2, function(x) length(which(!is.na(x)))))
    }

Вы можете просто запустить nonNAs(ZZZ):

> nonNAs(ZZZ)
[1] 2 1 3
30
ответ дан daroczig 8 August 2013 в 01:28
поделиться
colSums(!is.na(x))

Векторизация ftw.

71
ответ дан David Arenburg 8 August 2013 в 01:28
поделиться

Для получения общего количества отсутствующих значений используйте сумму (is.na (x)), а для столбцов используйте colSums (is.na (x)), где x - переменная, содержащая набор данных

6
ответ дан Geek_To_Learn 8 August 2013 в 01:28
поделиться

Если вам нужна только общая сумма NA, то sum () с помощью! Is.na () сделает это:

ZZZ <- data.frame(n = c(1, 2, NA), m = c(6, NA, NA), o = c(7, 8, 8))
sum(!is.na(ZZZ))
1
ответ дан kmm 8 August 2013 в 01:28
поделиться
Другие вопросы по тегам:

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