r-faq- все статьи тега


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

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

Как я должен иметь дело с предупреждением" пакет 'xxx' недоступен (для версии R x.y.z)"?

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

Создайте пустые данные.рамка

Я пытаюсь инициализировать данные.рамка без каких-либо строк. В принципе, я хочу указать типы данных для каждого столбца и назвать их, но не иметь никаких строк, созданных в результате. лучшее, что я смог сделать до сих пор что-то вроде: df <- data.frame(Date=as.Date("01/01/2000", format="%m/%d/%Y"), File="", User="", stringsAsFactors=FALSE) df <- df[-1,] который создает данные.фрейм с одной строкой, содержащей все типы данных и имена столбцов, которые я хотел, но так ...

Добавление ведущих нулей с помощью R

у меня есть набор данных, который выглядит примерно так: anim <- c(25499,25500,25501,25502,25503,25504) sex <- c(1,2,2,1,2,1) wt <- c(0.8,1.2,1.0,2.0,1.8,1.4) data <- data.frame(anim,sex,wt) data anim sex wt anim2 1 25499 1 0.8 2 2 25500 2 1.2 2 3 25501 2 1.0 2 4 25502 1 2.0 2 5 25503 2 1.8 2 6 25504 1 1.4 2 Я хотел бы добавить ноль перед каждым идентификатором животного: data anim sex wt anim2 1 025499 1 0.8 2 2 025500 2 1. ...

Одновременно объединить несколько данных.кадры в списке

у меня есть список из многих данных.кадры, которые я хочу объединить. Проблема здесь в том, что каждый данные.фрейм отличается по количеству строк и столбцов, но все они разделяют ключевые переменные (которые я назвал "var1" и "var2" в коде ниже). Если данные есть.рамки были идентичны с точки зрения столбцов, я мог просто rbind, для которого rbind plyr.fill выполнит эту работу, но это не так с этими данными. потому что merge команда работает только на 2 данные.кадры, я обратился к Интернету за ...

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

Я хотел бы взять данные из формы before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2')) attr type 1 1 foo_and_bar 2 30 foo_and_bar_2 3 4 foo_and_bar 4 6 foo_and_bar_2 и использовать split() в графе "type" С выше, чтобы получить что-то вроде этого: attr type_1 type_2 1 1 foo bar 2 30 foo bar_2 3 4 foo bar 4 6 foo bar_2 Я придумал что-то невероятно сложное с участием какой-то формы apply это сработало, но с те ...

Импорт нескольких.csv файлы в R

предположим, что у нас есть папка, содержащая несколько данных.csv-файлы, каждый из которых содержит одинаковое количество переменных, но каждый из разных времен. Есть ли способ в R импортировать их все одновременно, а не импортировать их все по отдельности? моя проблема заключается в том, что у меня есть около 2000 файлов данных для импорта и необходимости импортировать их по отдельности только с помощью кода: read.delim(file="filename", header=TRUE, sep="t") не очень эффективно. ...

Агрегировать / суммировать несколько переменных в группе (например, sum, mean)

из фрейма данных, есть ли простой способ агрегировать (sum,mean,max et c) несколько переменных одновременно? ниже приведены некоторые примеры данных: library(lubridate) days = 365*2 date = seq(as.Date("2000-01-01"), length = days, by = "day") year = year(date) month = month(date) x1 = cumsum(rnorm(days, 0.05)) x2 = cumsum(rnorm(days, 0.05)) df1 = data.frame(date, year, month, x1, x2) Я хотел бы одновременно агрегировать x1 и x2 переменные df2 фрейм данных по годам и месяцам. Следующий код ...

Добавление легенды к линейному участку ggplot2

у меня есть вопрос о легендах в ggplot2. Мне удалось построить три линии на одном графике и добавить легенду с тремя используемыми цветами. Это код, используемый library(ggplot2) require(RCurl) link<-getURL("https://dl.dropbox.com/s/ds5zp9jonznpuwb/dat.txt") datos<- read.csv(textConnection(link),header=TRUE,sep=";") datos$fecha <- as.POSIXct(datos[,1], format="%d/%m/%Y") temp = ggplot(data=datos,aes(x=fecha, y=TempMax,colour="1")) + geom_line(colour="red") + opts( ...

Удаление дублированных строк

Я прочитал CSV файл в R данных.рамка. Некоторые строки имеют один и тот же элемент в одном из столбцов. Я хочу удалить дубликаты строк в этом столбце. Например: platform_external_dbus 202 16 google 1 platform_external_dbus 202 16 space-ghost.verbum 1 platform_external_dbus 202 16 localhost 1 platform_external_dbus 202 16 users.sourceforge ...

Установка старой версии пакета R

Я пытаюсь использовать Rpy2 и ggplot2, но я получаю сообщение об ошибке. После некоторого поиска ошибки в Интернете я обнаружил, что ошибка возникает из-за изменений в пакете ggplot2, которые еще не отражены в Rpy2 (например, см. этот пост (Edit: ссылка теперь мертва)). поэтому теперь мне нужно установить более старую версию ggplot2. Вот псевдо-код для того, что я хочу: install.packages("ggplot2", version='0.9.1') но install.packages нет ...

Замена NAs на последнее значение, отличное от NA

в данных.фрейм (или данные.таблица), я хотел бы "заполнить вперед" NAs с ближайшим предыдущим значением non-NA. Простой пример, используя векторы (вместо data.frame) следующим образом: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Я хотел бы функция fill.NAs(), что позволяет мне построить yy такое, что: > yy [1] NA NA NA 2 2 2 2 3 3 3 4 4 мне нужно повторить эту операцию для многих (всего ~1 Тб) малых размеров data.frames (~30-50 Мб), где строка NA-это все ее записи. Что т ...

Что означает "методы S3" в R?

поскольку я довольно новичок в R, я не знаю, что такое методы и объекты S3. Я обнаружил, что существуют объектные системы S3 и S4, и некоторые рекомендуют использовать S3 над S4, если это возможно (http://google-styleguide.googlecode.com/svn/trunk/google-r-style.html). однако я не знаю точного определения методов/объектов S3. ...

Чтение файла Excel непосредственно из сценария R

Как я могу прочитать файл Excel непосредственно в R? Или я должен сначала экспортировать данные в текстовый или CSV файл и импортировать этот файл в R? ...

Установить по умолчанию CRAN зеркало постоянное в R

Как я могу установить определенное зеркало CRAN постоянно в R? Я хочу, чтобы она навсегда в моем ноутбуке, так что, когда я делаю install.packages(), Он не будет спрашивать, какое зеркало выбрать. ...

Почему "vapply" безопаснее, чем "sapply"?

в документации написано vapply похож на sapply, но и предварительно указанный тип возвращаемого значения, поэтому он может быть безопаснее...] пустить в ход. не могли бы Вы уточнить, почему это, как правило, безопаснее, возможно, приводя примеры? P. S.: Я знаю ответ и я уже стремятся избежать sapply. Я просто хочу, чтобы здесь был хороший ответ, чтобы я мог указать на него своим коллегам. Пожалуйста, нет " прочитайте инструкцию" ответ. ...

Какой самый большой R-gotcha вы столкнулись?

есть ли какой-то R-gotcha, что вы действительно удивили один день? Я думаю, что мы все выиграем от их совместного использования. вот мой: в индексации списка,my.list[[1]] не my.list[1]. Узнал об этом в первые дни Р. ...