r - отложить данные по числу NA

Запустите «alsamixer» в экземпляре xterm, затем «f4», чтобы перейти к «захвату», и здесь вы можете изменить громкость записи.

Источник: https: //www.linuxquestions. org / questions / slackware-14 / pulseaudio-able-to-connect-935282 /

(Так как я не могу прокомментировать напрямую, я отвечу на новый добавленный ответ оригинального пользователя здесь, чтобы сказать, что существует несколько способов изменения конфигурационного файла, не все из которых связаны с ошибкой пользователя. Это говорит как кто-то, кто сидел, кодировал в Vim, а SSHed на сервере, и видел файл, который редактировал изменения перед моим глаза. Я предполагаю, что это была некоторая файловая коррупция ...;) Конечно, если бы вы редактировали ее раньше, возможно, вы тоже сделали это: P. Я просто не предполагаю с этим больше ...)

2
задан 13 August 2018 в 16:03

1 ответ

Вы можете использовать функцию sort с опцией na.last = FALSE следующим образом:

изменить:

Комментарий Akrun является допустимым. Если значения должны оставаться в порядке, так как они находятся в data.frame, тогда ответ Akrun является лучшим. Сортировка сделает все в порядке от низкого до высокого с NA впереди.

library(purrr)
map_df(mydata, sort, na.last = FALSE)
# A tibble: 6 x 6
     V1    V2    V3    V4    V5    V6
  <int> <int> <int> <int> <int> <int>
1     1    NA    NA    NA    NA    NA
2     2     1    NA    NA    NA    NA
3     3     2     1    NA    NA    NA
4     4     3     2     1    NA    NA
5     5     4     3     2     1    NA
6     6     5     4     3     2     1

Или примените:

apply(mydata, 2, sort , na.last = FALSE)
     V1 V2 V3 V4 V5 V6
[1,]  1 NA NA NA NA NA
[2,]  2  1 NA NA NA NA
[3,]  3  2  1 NA NA NA
[4,]  4  3  2  1 NA NA
[5,]  5  4  3  2  1 NA
[6,]  6  5  4  3  2  1

edit:

Как отметил nicolo. order может сохранить порядок переменных.

mydata[,3] <- c(4, 3, 1, 2, NA, NA)
map_df(mydata, function(x) x[order(!is.na(x))])
# A tibble: 6 x 6
     V1    V2    V3    V4    V5    V6
  <int> <int> <dbl> <int> <int> <int>
1     1    NA    NA    NA    NA    NA
2     2     1    NA    NA    NA    NA
3     3     2     4    NA    NA    NA
4     4     3     3     1    NA    NA
5     5     4     1     2     1    NA
6     6     5     2     3     2     1
4
ответ дан 15 August 2018 в 16:58
  • 1
    Если вы хотите сохранить заказ, вы можете использовать order: map_df(mydata,function(x) x[order(!is.na(x))]). – nicola 13 August 2018 в 16:59
  • 2
    @nicola, добавил к ответу. – phiver 13 August 2018 в 17:11

Другие вопросы по тегам:

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