Страница 1 из 3
Графики по мноколоночному XLS-файлу - какой package?
Добавлено: 09 авг 2015, 16:37
nickleb
Здравствуйте. Есть многоколоночный XLS-файл - одна и та же характеристика по различным районам (первый столбец год - ось - X, каждый следующий из множества столбов - ордината для каждого отдельного района) . С помощью какого R-package'а лучше визуализировать-отскриптовать построение двумерных графиков распределения этой характеристики по различным районам в одних и тех же X,Y-осях. Каждая колонка - отдельная линия.
Re: Графики по мнокололочному XLS-файлу - какой package?
Добавлено: 09 авг 2015, 17:16
gamm
nickleb писал(а):Здравствуйте. Есть многоколоночный XLS-файл - одна и та же характеристика по различным районам (первый столбец год - ось - X, каждый следующий из множества столбов - ордината для каждого отдельного района) . С помощью какого R-package'а лучше визуализировать-отскриптовать построение двумерных графиков распределения этой характеристики по различным районам в одних и тех же X,Y-осях. Каждая колонка - отдельная линия.
1) поскольку R не сильно дружит с Ёкселем, то копипастите данные в текстовый файл
2) чтобы просто нарисовать графики, есть просто plot() + lines()/points() в цикле, нужно только правильно установить границы. Будет что-то типа
Код: Выделить всё
p<-read.table("data.txt",header=FALSE)
y.lim<-range(p[,-1])
my.colors<-rainbow(ncol(p)-1)
X<-p[,1] # в первом столбце - общая горизонтальная ось, например время
plot(X,p[,2],type="n",main="",xlab="X",ylab="",ylim=y.lim)
for(i in 2:ncol(p)) {
points(X,p[,i],type="l",col=my.colors[i-1])
}
legend("topright",as.character(2:ncol(p)),fill=my.colors)
3) если нужно много графиков на одной картинке (каждый - на своей панельке), то используем пакет lattice, там много разных чудес, но мне ближе вариант (2).
Re: Графики по мнокололочному XLS-файлу - какой package?
Добавлено: 09 авг 2015, 18:29
nickleb
gamm писал(а):[ ...мне ближе вариант (2).
gamm, спасибо за, как всегда, своевременную и дельную помощь...
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 00:06
sergsh
Можно так же сохранить таблицу в формат csv
и далее прочитать так :
df = read.table("myfile.csv", header = TRUE) # header = TRUE - если у вас в таблице есть заголовок каждого столбца
а далее пункт 2)
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 00:12
Максим Дубинин
а у меня нормально дружит
Код: Выделить всё
library(RODBC)
chan <- odbcConnectExcel("c:\\temp\\NDVI_landcover.xls")
d <- sqlFetch(chan, "7")[,3:17]
close(chan)
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 06:24
nickleb
sergsh писал(а):Можно так же сохранить таблицу в формат csv
и далее прочитать так :
df = read.table("myfile.csv", header = TRUE) # header = TRUE - если у вас в таблице есть заголовок каждого столбца
а далее пункт 2)
спасибо, sergsh!
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 06:26
nickleb
Максим Дубинин писал(а):а у меня нормально дружит
Код: Выделить всё
library(RODBC)
chan <- odbcConnectExcel("c:\\temp\\NDVI_landcover.xls")
d <- sqlFetch(chan, "7")[,3:17]
close(chan)
Максим, благодарю!
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 18:08
nickleb
sergsh писал(а):Можно так же сохранить таблицу в формат csv
и далее прочитать так :
df = read.table("myfile.csv", header = TRUE) # header = TRUE - если у вас в таблице есть заголовок каждого столбца
а далее пункт 2)
не подскажете ли как выбрать из csv-файла (в R) именованные колонки по маске имени?
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 19:08
Максим Дубинин
Код: Выделить всё
d2 = d[c("b3_lai14", "b3_lai04", "b3_fpar14")]
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 10 авг 2015, 19:58
gamm
Максим Дубинин писал(а):Код: Выделить всё
d2 = d[c("b3_lai14", "b3_lai04", "b3_fpar14")]
запятой не хватает для понятности
Код: Выделить всё
d2 = d[ , c("b3_lai14", "b3_lai04", "b3_fpar14")]
хотя с data.frame() и без нее работает
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 11 авг 2015, 11:47
nickleb
Максим Дубинин писал(а):Код: Выделить всё
d2 = d[c("b3_lai14", "b3_lai04", "b3_fpar14")]
а как выбрать-таки колонки по МАСКЕ имени? все колонки, в имени которых присутствует, к примеру, слово "
b3_"?
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 11 авг 2015, 13:26
gamm
nickleb писал(а):а как выбрать-таки колонки по МАСКЕ имени? все колонки, в имени которых присутствует, к примеру, слово "b3_"?
Код: Выделить всё
p<-data.frame(b3_1=1,b1_1=2,b3_2=3,b0=4,b3_2=5)
p[,grep("b3_*",names(p))]
b3_1 b3_2 b3_2.1
1 1 3 5
курим мануал от grep()
Re: Графики по мнокололочному XLS-файлу - какой package?
Добавлено: 11 авг 2015, 18:06
nickleb
Код: Выделить всё
legend("topright",as.character(2:ncol(p)),fill=my.colors)
gamm, а именами колонок в легенде подписать как? подскажите, пожалуйста... что-то с ходу не получилось...
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 11 авг 2015, 18:45
gamm
nanes(p)[ind] в качестве индекса то же, что для выбора столбцов
[ Сообщение с мобильного устройства ]
Re: Графики по мноколочному XLS-файлу - какой package?
Добавлено: 11 авг 2015, 19:16
nickleb
gamm писал(а):nanes(p)[ind] в качестве индекса то же, что для выбора столбцов
[ Сообщение с мобильного устройства ]
ага, спасибо!