Вопросы с тегом «r-faq»

Тег r-faq создан для группировки ограниченного числа вопросов, обсуждающих проблемы, которые регулярно появляются в теге R. Это не официальный FAQ по R для SO, но он должен служить интересным источником информации по распространенным проблемам.

2473
Как сделать отличный R воспроизводимый пример

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

1317
Как отсортировать фрейм данных по нескольким столбцам

Я хочу отсортировать data.frame по нескольким столбцам. Например, с помощью data.frame ниже я бы хотел отсортировать по столбцу z(по убыванию), а затем по столбцу b(по возрастанию): dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"), levels = c("Low", "Med", "Hi"), ordered = TRUE), x =...

1041
Функции группировки (tapply, by, aggregate) и семейство * apply

Всякий раз, когда я хочу сделать что-то «сопоставить» py в R, я обычно пытаюсь использовать функцию в applyсемье. Однако я никогда не понимал различий между ними - как { sapply, lapplyи т. Д.} Применять функцию к входу / групповому вводу, как будет выглядеть вывод, или даже каким может быть ввод -...

874
Удалить столбцы фрейма данных по имени

У меня есть несколько столбцов, которые я хотел бы удалить из фрейма данных. Я знаю, что мы можем удалить их по отдельности, используя что-то вроде: df$x <- NULL Но я надеялся сделать это с меньшим количеством команд. Кроме того, я знаю, что я мог бы отбросить столбцы, используя целочисленную...

852
Удалить строки со всеми или некоторыми NA (отсутствующими значениями) в data.frame

Я хотел бы удалить строки в этом фрейме данных, которые: а) содержать NAs во всех столбцах. Ниже мой пример фрейма данных. gene hsap mmul mmus rnor cfam 1 ENSG00000208234 0 NA NA NA NA 2 ENSG00000199674 0 2 2 2 2 3 ENSG00000221622 0 NA NA NA NA 4 ENSG00000207604 0 NA NA 1 2 5 ENSG00000207431 0 NA...

713
Чем отличаются операторы присваивания «=» и «<-» в R?

Каковы различия между операторами присваивания =и <-в R? Я знаю, что операторы немного отличаются, как показывает этот пример x <- y <- 5 x = y = 5 x = y <- 5 x <- y = 5 # Error in (x <- y) = 5 : could not find function "<-<-" Но единственная ли это разница?...

601
Как преобразовать коэффициент в целое число \ числовое без потери информации?

Когда я преобразую коэффициент в числовое или целое число, я получаю коды базового уровня, а не значения в виде чисел. f <- factor(sample(runif(5), 20, replace = TRUE)) ## [1] 0.0248644019011408 0.0248644019011408 0.179684827337041 ## [4] 0.0284090070053935 0.363644931698218 0.363644931698218 ##...

572
Построить два графика на одном графике в R

Я хотел бы построить y1 и y2 на одном графике. x <- seq(-2, 2, 0.05) y1 <- pnorm(x) y2 <- pnorm(x, 1, 1) plot(x, y1, type = "l", col = "red") plot(x, y2, type = "l", col = "green") Но когда я делаю это так, они не отображаются на одном графике вместе. В Matlab можно делать hold on, но...

561
Как мне поступить с предупреждением «пакет« xxx »недоступен (для версии R xyz)»?

Я пытался установить пакет, используя install.packages("foobarbaz") но получил предупреждение Warning message: package 'foobarbaz' is not available (for R version x.y.z) Почему R не думает, что пакет доступен? Смотрите также эти вопросы, относящиеся к конкретным случаям этой проблемы: Мой пакет не...

551
Как я могу просмотреть исходный код функции?

Я хочу посмотреть на исходный код функции, чтобы увидеть, как она работает. Я знаю, что могу напечатать функцию, введя ее имя в командной строке: > t function (x) UseMethod("t") <bytecode: 0x2332948> <environment: namespace:base> В этом случае, что это UseMethod("t")значит? Как мне...

543
Уровни коэффициента отбрасывания в заданном кадре данных

У меня есть фрейм данных, содержащий factor. Когда я создаю подмножество этого subsetфрейма данных, используя или другую функцию индексации, создается новый фрейм данных. Однако factorпеременная сохраняет все свои исходные уровни, даже если / если они не существуют в новом кадре данных. Это...

541
Как выгрузить пакет без перезапуска R

Я хотел бы выгрузить пакет без необходимости перезапуска R (в основном потому, что перезапуск R, когда я пробую разные, конфликтующие пакеты, вызывает разочарование, но, возможно, это можно использовать в программе, чтобы использовать одну функцию, а затем другую - хотя пространство имен ссылки,...

521
Разница между скобками [] и двойными скобками [[]] для доступа к элементам списка или фрейма данных

R предоставляет два разных метода для доступа к элементам списка или data.frame: []и [[]]. В чем разница между этими двумя, в каких ситуациях я должен использовать один над...

504
Быстрое чтение очень больших таблиц как данных

У меня есть очень большие таблицы (30 миллионов строк), которые я хотел бы загрузить в виде фреймов данных в R. read.table()Имеет много удобных функций, но, похоже, в реализации много логики, которая может замедлить работу. В моем случае, я предполагаю, что знаю типы столбцов заранее, таблица не...

480
Создать пустой data.frame

Я пытаюсь инициализировать data.frame без каких-либо строк. По сути, я хочу указать типы данных для каждого столбца и дать им имена, но в результате не нужно создавать никаких строк. Лучшее, что я смог сделать, это что-то вроде: df <- data.frame(Date=as.Date("01/01/2000", format="%m/%d/%Y"),...

400
Почему `[` лучше чем `subset`?

Когда мне нужно отфильтровать data.frame, т.е. извлечь строки, которые удовлетворяют определенным условиям, я предпочитаю использовать subsetфункцию: subset(airquality, Month == 8 & Temp > 90) Вместо [функции: airquality[airquality$Month == 8 & airquality$Temp > 90, ] Есть две...

392
Как установить пакет R из исходного кода?

Друг прислал мне это великолепное руководство по веб-сёрфингу NYtimes с R . Я бы очень хотел попробовать это. Тем не менее, первым шагом является установка пакета с именем RJSONIO из исходного кода. Я достаточно хорошо знаю R, но понятия не имею, как установить пакет из исходного кода. Я использую...