Rambler's Top100
Лёгкая версия форума* Виртуальная клавиатура  English  
Molbiol.ru | О проекте | Справочник | Методы | Растворы | Расчёты | Литература | Орг.вопросы
Web | Фирмы | Coffee break | Картинки | Работы и услуги | Биржа труда | Междисциплинарный биологический онлайн-журналZbio-wiki

NG SEQUENCING · ЖИЗНЬ РАСТЕНИЙ · БИОХИМИЯ · ГОРОДСКИЕ КОМАРЫ · А.А.ЛЮБИЩЕВ · ЗООМУЗЕЙ


Темы за 24 часа  [ Вход* | Регистрация* ]  
   



Форум: 
 

Щёлкните, чтобы внести в Избранные Темы* R Help -- Давайте составим русский FAQ --
Кураторы темы:* plantago
Операции: Хочу стать куратором* · Подписаться на тему* · Отправить страницу по e-mail · Версия для печати*
Внешний вид:* Схема · [ Стандартный ] · +Перв.сообщ.


страницы (55): « < 47 48 49 50 51 > »  
Добавить сообщение в темуСоздать новую темуСоздать голосование
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение Сообщение на английском  23.10.2017 10:43     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

aa <- read.table("aa.txt", sep="\t", h=TRUE)
library(lattice)

aa1 <- do.call(make.groups, aa[, 3:12])
aa1$MARKER <- rep(aa$MARKER, 10)
aa1$TIME <- rep(aa$TIME, 10)

dotplot(MARKER ~ data | which, groups=TIME, data=aa1, auto.key=TRUE)


скачать файл aa.txt
размер: 889 байт
кол-во скачиваний: 434




Всего благодарностей: 2Поблагодарили (2): RBlake, PS2004R
Участник оффлайн! penkin.2011
Участник



 прочитанное сообщение 24.10.2017 19:40     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Помогите. пожалуйста, снова застрял на задаче text mining
mydat= kr_csv.zip

# 1. загрузка библиотек
library("tm")
library("SnowballC")
library("textcat")

#выбираем русский язык
mydat.lang_category<-textcat(mydat$name);
mydat.ru=mydat[mydat.lang_category =="russian",]

corpus=Corpus(VectorSource(mydat.ru))
View(as.matrix(mydat.ru))

Вот на этом месте затык
corpus=Corpus(VectorSource(mydat.ru))
CODE
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 0

и куда все документы подевались?

соответственно создавать дтм бессмысленно

#создаем матрицу документов функция DocumentTermMatrix (...)
dtm=DocumentTermMatrix(corpus,
control=list(stemming=T, stopwords=F,
minWorldLenght=3,removeNumbers=T,
removePunctuation=T,
#stopwords=c(stopwords('SMART'))
weighting=function(x)
weightTf(x) ))

CODE
<<DocumentTermMatrix (documents: 0, terms: 0)>>
Non-/sparse entries: 0/0
Sparsity           : 100%
Maximal term length: 0
Weighting          : term frequency (tf)



Подскажите, что делать? (Чернышевский)

Файл/ы:

скачать файл kr_csv.zip
размер: 9.13к
кол-во скачиваний: 162


Участник оффлайн! zelenayapyatka




 прочитанное сообщение 02.11.2017 13:19     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Привет! Я новичек shuffle.gif как русифицировать R?

Сообщение было отредактировано zelenayapyatka - 02.11.2017 13:20
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 03.11.2017 00:10     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Пожалуйста, поясните, что Вы имеете в виду.
Участник оффлайн! zelenayapyatka




 прочитанное сообщение 03.11.2017 13:45     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(plantago @ 03.11.2017 01:10)
Ссылка на исходное сообщение  Пожалуйста, поясните, что Вы имеете в виду.

Здравствуйте! Этот вопрос адресован мне?

В скаченном мной R меню на английском языке, это не удобно в работе. Англ. я владею не достаточно хорошо. Хочу русифицировать систему. Есть ли такая возможность? Использую RStudio. Через меню Tools/Global Options/Spelling изменила Main dictionary language на Russian. Не помогло. Возможно, я делаю что-то не то? В интернете не нашла ответа как русифицировать R. Обратилась к вам в группу "R Help" shuffle.gif
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 03.11.2017 16:32     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

Теперь понятнее.

RStudio -- отдельный проект, коммерческий (хотя и с открытым кодом).

Сам R русифицирован, меню в версии под Windows -- на русском.
Участник оффлайн! ПолинаШ
Участник



 прочитанное сообщение 30.11.2017 19:54     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Имею вектор Y и таблицу DFp из более 100 предикторов. Хочу подсчитать, сколько раз каждый предиктор оказывается статистически значимым из 1000 subset-ов, составленных из 6 случайных переменных:

GetCoef <- function (nc=6) {
     DFr <- DFp[,sample(ncol(DFp), nc)]
     m <- lm(Y ~ ., data=DFr)
     a<-summary(m)$coefficients
     a[a[,3]<=0.05,1]
}
nr <- 1000
sumC <- rep(0, ncol(DFp)+1)
names(sumC) <- c("(Intercept)", names(DFp))
replicate(nr, {
    res <- GetCoef(6)
    sumC[names( sumC) %in% names(res)] <- sumC[names( sumC) %in% names(res)] + 1
})

Т.к. sample() "рассыпает порядок следования переменных, накопление единичек происходит не у тех переменных. Поправьте меня, пожалуйста.

Сообщение было отредактировано ПолинаШ - 01.12.2017 10:07
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 30.11.2017 21:38     Сообщение для модератора  Сообщение для куратора темы     

(ПолинаШ @ 30.11.2017 19:54)
Ссылка на исходное сообщение  Имею вектор Y и таблицу DFp из более 100 предикторов. Хочу подсчитать, сколько раз каждый предиктор оказывается статистически значимым из 1000 subset-ов, составленных из 6 случайных переменных:
Т.к. sample() "рассыпает порядок следования переменных, накопление единичек происходит не у тех переменных. Поправьте меня, пожалуйста.


Не очень понятна цель. Это некие "случайные подпространства"?

Сам порядок легко сохранить. Генерить список индексов выбранных колонок, и по ней уже проходиться как параметру строя список решений. Тогда порядок предикторов будет очевиден для каждого найденного решения.

Всего благодарностей: 1Поблагодарили (1): ПолинаШ
Участник оффлайн! ПолинаШ
Участник



 прочитанное сообщение 01.12.2017 10:03     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Ну, цель и смутна, и осязаема. Если построить модель по всем предикторам, то значительная часть предикторов оказывается незначимым по одной из двух причин: а) переменная в принципе не влияет на отклик или б) она входит в коллинеарный комплекс с другими предикторами. За счет какой причины это происходит, VIF точного ответа не дает.
А проблема, действительно, решается просто:
ind <- intersect(names(sumC), names(res))
sumC[ind] <- sumC[ind] + 1


Сообщение было отредактировано ПолинаШ - 01.12.2017 10:06
Участник оффлайн! binom15




 прочитанное сообщение 05.12.2017 18:20     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Здравствуйте, подскажите пожалуйста.
У меня много условных операторов, поэтому пытаюсь условия считать с базы данных
и подставить их в оператор if (условие) ...
Вот так всё работает:
> mkra=1; nkra=3; g1=1; g2=1
> law <- (mkra>0 & nkra==1 & g1>0 & g2>0)
> law
[1] FALSE

а с базы данных не работает
> lwb <- read.dbf("law.dbf")
> lwv <- lwb$LAW
> law <- as.character(lwv[1])
> law
[1] "(mkr>0 & nkr==1 & g1>0 & g2==0)"
Участник оффлайн! pApA2017




 прочитанное сообщение 05.12.2017 22:22     Сообщение для модератора  Сообщение для куратора темы       Личное письмо

Это так задумано у вас? "g2>0" и "g2==0"
Участник оффлайн! binom15




 прочитанное сообщение 06.12.2017 18:12     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(pApA2017 @ 05.12.2017 23:22)
Ссылка на исходное сообщение  Это так задумано у вас? "g2>0" и  "g2==0"

Это просто два разных условия, причём первое не g2, а g1.
А по существу вопроса - как преобразовать символьное выражение в вид, воспринимаемый условным оператором?

Сообщение было отредактировано binom15 - 06.12.2017 18:15
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 06.12.2017 23:35     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

К сожалению, Ваш пример нельзя воспроизвести.
Участник оффлайн! binom15




 прочитанное сообщение 07.12.2017 07:23     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Давайте подойдём к этому вопросу проще.
Уберём базу данных типа .dbf, поле в нём "с условием" в символьном формате.
введём переменные
mkr=1; nkr=3; g1=1; g2=1
lwv <- "(mkr>0 & nkr==3 & g1>0 & g2>0)"
Как lwn преобразовать в логическое выражение?
В виде
law <- функция(lwv)
и далее
if (law) {...}
Участник оффлайн! PS2004R
Постоянный участник



 прочитанное сообщение 07.12.2017 08:45     Сообщение для модератора  Сообщение для куратора темы       Фотография  Личное письмо  Отправить e-mail  Web-адрес

(binom15 @ 07.12.2017 07:23)
Ссылка на исходное сообщение  Давайте подойдём к этому вопросу проще.
Уберём базу данных типа .dbf, поле в нём "с условием" в символьном формате.
введём переменные
mkr=1; nkr=3; g1=1; g2=1
lwv <-  "(mkr>0 & nkr==3 & g1>0 & g2>0)"   
Как lwn преобразовать в логическое выражение?
В виде
law <- функция(lwv)
и далее
if (law) {...}


например вот так http://dplyr.tidyverse.org/reference/filter_all.html

PS ну или закат солнца вручную eval(parse(text="(mkr>0 & nkr==3 & g1>0 & g2>0)")) , если конечно "преобразовать в логическое выражение" означает "вычислить".

Сообщение было отредактировано PS2004R - 07.12.2017 08:48

Всего благодарностей: 2Поблагодарили (2): binom15, plantago
Участник оффлайн! binom15




 прочитанное сообщение 07.12.2017 21:01     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(PS2004R @ 07.12.2017 09:45)
Ссылка на исходное сообщение  например вот так http://dplyr.tidyverse.org/reference/filter_all.html

PS ну или закат солнца вручную eval(parse(text="(mkr>0 & nkr==3 & g1>0 & g2>0)")) , если конечно "преобразовать в логическое выражение" означает "вычислить".


Огромное спасибо! То, что надо, работает!
Участник оффлайн! codeR




 прочитанное сообщение 16.12.2017 16:39     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Извиняюсь за офф-топ. Мой вопрос не по биологии, а скорее просто по R
Мне нужно объединить два набора данных, используя compare linkage для вычисления весов. Первый набор данных имеет 2,5 миллион строк, второй набор данных - 300 000 строк. Оба набора данных имеют только одну переменную (ido), и я должен соединять по этой переменной. Это простая операция, если вы используете небольшое количество строк, но мне нужно работать с наибольшим количеством строк. Поэтому я пишу код:
CODE

library(RecordLinkage)
#here we work only with ido to calculate the wieghts for merged data
df_01=read.csv(/1new.csv", sep=";",dec=",")
#View(df_01)
str(df_01)
df_02=read.csv(po.csv", sep=";",dec=",")
#View(df_02)
str(df_02)

#get weights
rpairs_jar <- compare.linkage(df_01, df_02,
                             strcmp = c("ido"),
                             strcmpfun = jarowinkler)


поскольку объемы большие я получил ошибку
cannot allocate vector of size 845.3 Gb

Т.е. не хватает оперативной памяти, я стал гуглить вопрос , и нашел, что кто-то уже спрашивал об этом здесь
http://molbiol.ru/forums/lofiversion/index...02724-2200.html
Ответ одного пользователя
выбрать метод факторизации итеративный, который работает с порциями данных


подскажите, а как это реализовать работу с пропорциями

Мой сервер
Intel Xeon CPU E5-1650 v4@ 3.60ghz
128 gb ram
10 tb hdd
windows 2012 R2x64

ссылка на файлы

http://dropmefile.com/6YaH2
Помогите, пожалуйста.
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 16.12.2017 17:43     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 16.12.2017 16:39)
Ссылка на исходное сообщение  Извиняюсь за офф-топ. Мой вопрос не по биологии, а скорее просто по R
Мне нужно объединить два набора данных, используя compare linkage для вычисления весов. Первый набор данных имеет 2,5 миллион строк, второй набор данных - 300 000 строк. Оба набора данных имеют только одну переменную (ido), и я должен соединять по этой переменной. Это простая операция, если вы используете небольшое количество строк, но мне нужно работать с наибольшим количеством строк. Поэтому я пишу код:
CODE

library(RecordLinkage)
#here we work only with ido to calculate the wieghts for merged data
df_01=read.csv(/1new.csv", sep=";",dec=",")
#View(df_01)
str(df_01)
df_02=read.csv(po.csv", sep=";",dec=",")
#View(df_02)
str(df_02)

#get weights
rpairs_jar <- compare.linkage(df_01, df_02,
                             strcmp = c("ido"),
                             strcmpfun = jarowinkler)


поскольку объемы большие я получил ошибку
cannot allocate vector of size 845.3 Gb

Т.е. не хватает оперативной памяти, я стал гуглить вопрос , и нашел, что кто-то уже спрашивал об этом здесь
http://molbiol.ru/forums/lofiversion/index...02724-2200.html
Ответ одного пользователя
подскажите, а как это реализовать работу с пропорциями

Мой сервер
Intel Xeon CPU E5-1650 v4@ 3.60ghz
128 gb ram
10 tb hdd
windows 2012 R2x64

ссылка на файлы

http://dropmefile.com/6YaH2
Помогите, пожалуйста.


Я понимаю, что написать str(df_02) и не показать выхлоп модно и молодежно, но тем не менее вопрос:

Ваша ссылка не работает, что лежит в ido?
Участник оффлайн! codeR




 прочитанное сообщение 16.12.2017 18:01     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

ido это просто столбец, в двух файлах всего один ключевой столбец
если не качает
попробуйте пожалуйста,
https://www.sendspace.com/file/shkot0
хотя у меня ссылка работает

здесь меньше наблюдений, думал если буду удалять, что-то да получится, но нет, просто чуть меньше cannot allocate vector of size 24.3 Gb

> str(df_01)
'data.frame': 30654 obs. of 1 variable:
$ ido: Factor w/ 17471 levels "\"ДАТЧИК ЛОТКА \"\"ЛИЦОМ ВВЕРХ......",..: 9366 12182 11451 11451 6910 6909 6907 6908 6906 15423 ...
> str(df_02)
'data.frame': 216572 obs. of 1 variable:
$ ido: Factor w/ 157878 levels "- Расцепитель независимый РН-47 на DIN-рейку",..: 30 32 38 39 42 43 44 45 46 47 ...
>
но я не могу удалять, все должны быть строки.
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 16.12.2017 18:39     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 16.12.2017 18:01)
Ссылка на исходное сообщение  ido это просто столбец, в двух файлах всего один ключевой столбец
если не качает
попробуйте пожалуйста,
https://www.sendspace.com/file/shkot0
хотя у меня ссылка работает

здесь меньше наблюдений, думал если буду удалять, что-то да получится, но нет, просто чуть меньше cannot allocate vector of size 24.3 Gb

> str(df_01)
'data.frame': 30654 obs. of  1 variable:
$ ido: Factor w/ 17471 levels "\"ДАТЧИК ЛОТКА \"\"ЛИЦОМ ВВЕРХ......",..: 9366 12182 11451 11451 6910 6909 6907 6908 6906 15423 ...
> str(df_02)
'data.frame': 216572 obs. of  1 variable:
$ ido: Factor w/ 157878 levels "- Расцепитель независимый РН-47 на DIN-рейку",..: 30 32 38 39 42 43 44 45 46 47 ...
>
но я не могу удалять, все должны быть строки.


Схема такая

1. Как минимум прочитайте файлы не преобразуя эти переменные в факторы.

2. Как оптимум: Скачайте openrefine и закачав оба файла сразу, пометив дописывать имена файлов, (придется указать в конфиге программы большую кучу) проведите нормализацию-кластеризацию описаний уровней (на сайте программы есть видео примеры).

3. Потом выгрузить, и в R для линкинга (не забывая о п.1).
Участник оффлайн! codeR




 прочитанное сообщение 16.12.2017 20:50     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

1. Как минимум прочитайте файлы не преобразуя эти переменные в факторы.
так они сами как факторы читаются, это ж текстовые данные.
Как мне их сделать на "факторными"?
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 16.12.2017 23:32     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 16.12.2017 20:50)
Ссылка на исходное сообщение  1. Как минимум прочитайте файлы не преобразуя эти переменные в факторы.
так они сами как факторы читаются, это ж текстовые данные.
Как мне их сделать на "факторными"?


опцию укажите при чтении

если не продолжать возиться с медленным read.csv() на больших файлах, то

CODE


df.данные <- data.table::fread("читаемый_файл.csv", stringsAsFactors=FALSE, dec=",")



если оставаться последователем Захер Мазоха, то добавить stringsAsFactors = F в вызов read.csv() тоже smile.gif
Участник оффлайн! codeR




 прочитанное сообщение 17.12.2017 00:27     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

А Вы человек с чувством юмора, типа чтобы не оставаться
фанатом мазохизмаsmile.gif
Я оценилsmile.gif
Захер)))
Участник оффлайн! codeR




 прочитанное сообщение 18.12.2017 18:19     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Прошу прощение за беспокойство не могу победить ошибку
df_01=data.table::fread("C:/Users/Admin/Desktop/pot.csv", sep=";", dec=",",stringsAsFactors=FALSE)
#View(df_01)
str(df_01)
df_01=df_01[rowSums(is.na(df_01)) == 0,]
df_02=data.table::fread("C:/Users/Admin/Desktop/1.csv", sep=";",dec=",",,stringsAsFactors=FALSE)
#View(df_02)
df_02=df_02[rowSums(is.na(df_02)) == 0,]
str(df_02)

> rpairs_jar <- compare.linkage(df_02, df_01,
+ strcmp = c("ido"),
+ strcmpfun = jarowinkler)

Error in if (n > 0) c(NA_integer_, -n) else integer() :
missing value where TRUE/FALSE needed

Ошибка связана с NA, но я их поудалял.
Что мне делать?
Guest
IP-штамп: fr/MUrmodT6VA
гость



 прочитанное сообщение 19.12.2017 09:41     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 18.12.2017 18:19)
Ссылка на исходное сообщение  Прошу прощение за беспокойство не могу победить ошибку
df_01=data.table::fread("C:/Users/Admin/Desktop/pot.csv", sep=";", dec=",",stringsAsFactors=FALSE)
#View(df_01)
str(df_01)
df_01=df_01[rowSums(is.na(df_01)) == 0,]
df_02=data.table::fread("C:/Users/Admin/Desktop/1.csv", sep=";",dec=",",,stringsAsFactors=FALSE)
#View(df_02)
df_02=df_02[rowSums(is.na(df_02)) == 0,]
str(df_02)

> rpairs_jar <- compare.linkage(df_02, df_01,
+                              strcmp = c("ido"),
+                              strcmpfun = jarowinkler)

Error in if (n > 0) c(NA_integer_, -n) else integer() :
  missing value where TRUE/FALSE needed

Ошибка связана с NA, но я их поудалял.
Что мне делать?


Вам не эффективно _по единственному_ столбцу делать слияние этим алгоритмом.

Почему Вы не пользуетесь уже полученным советом очистки и унификации данных в openrefine с помощью одновременной интерактивной кластеризации по этому полю обоих таблиц?

Крайне маловероятно, что "оно само" склеит ваши строки лучше.
Участник оффлайн! codeR




 прочитанное сообщение 19.12.2017 17:36     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Я сразу скачал openrefine и посмотрел видео. Проблема в том, что после такого как он кластеризует ,мы уже работает не с реальными прайсовыми позициями, а с кластерами
и уже линкуем кластера. Я просто Вам не ответил. Таким образом мы теряем много строк
Пример
бумага А4
Бумага А0(Ватман)
Это разные позиции, но после кластеризации,это будет считаться одним и тем же.
Guest
IP-штамп: fr/MUrmodT6VA
гость



 прочитанное сообщение 19.12.2017 18:01     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 19.12.2017 17:36)
Ссылка на исходное сообщение  Я сразу скачал openrefine и посмотрел видео. Проблема в том, что после такого как он кластеризует ,мы уже работает не с реальными прайсовыми позициями, а с кластерами
и уже линкуем кластера. Я просто Вам не ответил. Таким образом мы теряем много строк
Пример
бумага А4
Бумага А0(Ватман)
Это разные позиции, но после кластеризации,это будет считаться одним и тем же.


Объединять или нет найденные позиции является решением оператора. Там несколько различных вариантов алгоритмов кластеризации, подберите наиболее подходящий (и его параметры) для первой коррекции... второй, третьей... а там глядишь и данные кончаться.

Это интерактивная работа, и её ни в коем случае не надо пытаться сделать "в одино решение".
(потом, если захотите, можно оригинальное уникальное название и конечное (если их достаточно много накопиться) использовать для обучения нейросети в R, что бы делать все сразу "за один шаг")

Кроме того сразу нормализуйте текст по регистру и числу пробелов, обычно в фильме обучающем это есть.
Участник оффлайн! binom15




 прочитанное сообщение 25.12.2017 21:49     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Подскажите, пожалуйста, как закрыть окна открытые с помощью функции x11()?
OS windows 10
Участник оффлайн! ИНО
Постоянный участник
Донецк



 прочитанное сообщение 25.12.2017 22:06     Сообщение для модератора  Сообщение для куратора темы       Личное письмо

В виндовсе вместо x11() рекомендуется использовать windows(). Закрываются обычно - крестиком в верхнем правом углу. Правда, у меня XP и 7, может, в 10 что намудрили...
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 25.12.2017 22:09     Сообщение для модератора  Сообщение для куратора темы     

(binom15 @ 25.12.2017 21:49)
Ссылка на исходное сообщение  Подскажите, пожалуйста, как закрыть окна открытые с помощью функции x11()?
OS windows 10



CODE


> ?dev.
?dev.capabilities  ?dev.copy          ?dev.cur           ?dev.interactive   ?dev.next          ?dev.print        
?dev.capture       ?dev.copy2eps      ?dev.flush         ?dev.list          ?dev.off           ?dev.set          
?dev.control       ?dev.copy2pdf      ?dev.hold          ?dev.new           ?dev.prev          ?dev.size          
> ?dev.


Всего благодарностей: 1Поблагодарили (1): binom15
Участник оффлайн! binom15




 прочитанное сообщение 25.12.2017 22:57     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Большое Спасибо!
dev.off() - прекрасно работает.
Участник оффлайн! ИНО
Постоянный участник
Донецк



 прочитанное сообщение 25.12.2017 23:07     Сообщение для модератора  Сообщение для куратора темы       Личное письмо

Работает, конечно, но ее ж набирать надо. Крестиком быстрее. Сейчас проверил: х11() тоже нормально работает на винде (хоть и для линкуса предназначена), окна крестиком закрывается. Наверное, Win10 ущербна не только во всем том, в чем ее часто обвиняют, но еще и в работе с R.
Участник оффлайн! plantago
Постоянный участник



 прочитанное сообщение 26.12.2017 01:24     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail  Web-адрес

dev.new() ... dev.off() работает на всех платформах, включая macOS
Участник оффлайн! binom15




 прочитанное сообщение 26.12.2017 10:20     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Использую данную команду, так как объём графической информации большой.
С x11 открываю 4 окна и вывожу 12 графиков. 4 окна крестиком долго закрывать,
а dev.list() и dev.off() удобно использовать затем для закрытия нужных окон в функции.
Участник оффлайн! codeR




 прочитанное сообщение 23.01.2018 11:47     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Подскажите, пожалуйста, корретно ли Бустинг считать алгоритмом, который объединяет модели в композицию.
Например строятся несколько моделей, которые измеряют признак. Например, построил несколько регрессионных моделей и все достаточно точно измеряют зависимую переменную, КМД варьируется от 0.9-0.95.
Так вот можно ли бустингом объединить мои модели в композиции и будет ли это работать Это можно как-то обосновать?
Guest
IP-штамп: frQ9QtzA7VEDk
гость



 прочитанное сообщение 23.01.2018 14:30     Сообщение для модератора  Сообщение для куратора темы     

(codeR @ 23.01.2018 11:47)
Ссылка на исходное сообщение  Подскажите, пожалуйста, корретно ли Бустинг считать алгоритмом, который объединяет модели в композицию.
Например строятся несколько моделей, которые измеряют признак. Например, построил несколько регрессионных моделей и все достаточно точно измеряют зависимую переменную, КМД варьируется от 0.9-0.95.
Так вот можно ли бустингом объединить мои модели в композиции и будет ли это работать Это можно как-то обосновать?


Разные по структуре модели нет. А одинаковые модели объединяют кроссвалидацией, по сути это и есть бутстреп.
Участник оффлайн! codeR




 прочитанное сообщение 23.01.2018 14:43     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Спасибо Вам, А разные по структуре модели чем можно объединить?
Участник оффлайн! passant




 прочитанное сообщение 23.01.2018 18:19     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

А как вы вообще себе представляете объединение моделей? Например модель на основе дерева решения и модель на основе кNN. И главное - зачем?
А если под "объединением" вы понимаете просто использование результатов работы одного метода как исходные данные для работы другого метода - то это никак не объединение модели а просто их совместное использование. В общем-то в нейросетях используют нечто подобное.
Участник оффлайн! Vikulik




 прочитанное сообщение 03.02.2018 17:09     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Здравствуйте, помогите, пожалуйста, решить проблему с использованием пользовательских функций для трансформации корпуса (tm_map пакета tm).

Пользовательская функция:
mystem <- function(doc) {
sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
sdoc <- str_replace(sdoc, '\\?', '')
sdoc <- str_replace(sdoc, '\\|.*$', '')
sdoc <- paste(sdoc, collapse=" ")
sdoc
}

Пример использования:
data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
data_cor_t <- tm_map(data_cor, mystem)

Результат:
> data_cor[[1]]$content
[1] "Раз два три"
> data_cor[[2]]$content
[1] "четыре пять шесть"

> data_cor_t[[1]]$content
[1] "раз два три четыре пять шесть"

Т.е. проблема в том, что функция paste приводит к тому, что документы корпуса склеиваются в один.

Тот же результат, если использовать упрощенную функцию:
mystem <- function(x) {
doc <- paste(x, "@", collapse = " ")
doc
}

> data_cor_t[[1]]$content
[1] "Раз два три @ четыре пять шесть @"

Использование content_transformer(FUN) и PlainTextDocument тоже не помогают.

В чем тут дело?
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 03.02.2018 22:17     Сообщение для модератора  Сообщение для куратора темы     

(Vikulik @ 03.02.2018 17:09)
Ссылка на исходное сообщение  Здравствуйте, помогите, пожалуйста, решить проблему с использованием пользовательских функций для трансформации корпуса (tm_map пакета tm).

Пользовательская функция:
mystem <- function(doc) {
  sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
  sdoc <- str_replace(sdoc, '\\?', '')
  sdoc <- str_replace(sdoc, '\\|.*$', '')
  sdoc <- paste(sdoc, collapse=" ")
  sdoc
}

Пример использования:
data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
data_cor_t <- tm_map(data_cor, mystem)

Результат:
> data_cor[[1]]$content
[1] "Раз два три"
> data_cor[[2]]$content
[1] "четыре пять шесть"

> data_cor_t[[1]]$content
[1] "раз два три четыре пять шесть"

Т.е. проблема в том, что функция paste приводит к тому, что документы корпуса склеиваются в один.

Тот же результат, если использовать упрощенную функцию:
mystem <- function(x) {
  doc <- paste(x, "@", collapse = " ")
  doc
}

> data_cor_t[[1]]$content
[1] "Раз два три @ четыре пять шесть @"

Использование content_transformer(FUN) и PlainTextDocument тоже не помогают.

В чем тут дело?


1. Не совсем понятно чего Вы ожидаете получить от paste().

2. Оберните применяемую функцию в content_transformer(), по идее тогда обработка ограничиться текстом документа.
Участник оффлайн! ПолинаШ
Участник



 прочитанное сообщение 04.02.2018 14:43     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

Очень не хочется маяться с логарифмами
dead <- cbind(df$погибло, df$выжило)
anova(glm(dead ~ доза , family = binomial(link=probit), data=df),
      glm(dead ~ log10(доза), family = binomial(link=probit), data=df), test = "Chisq")
Analysis of Deviance Table
Model 1: dead ~ доза
Model 2: dead ~ log10(доза)
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1      124    161.34                   
2      124    141.94  0  19.409

Как оценить значимость D = 19.4 и показать, что снижение остаточной ошибки мало.
Или не мало....
Участник оффлайн! Vikulik




 прочитанное сообщение 04.02.2018 15:51     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(Guest @ 03.02.2018 23:17)
Ссылка на исходное сообщение  1. Не совсем понятно чего Вы ожидаете получить от paste().

2. Оберните применяемую функцию в content_transformer(), по идее тогда обработка ограничиться текстом документа.


1. Функция Mystem разбивает текст на слова. Если слова в текст не соединять, то получается результат следующий (т.е. количество документов увеличивается до количества слов):
> data_cor_t[[1]]$content
[1] "раз"

2. С content_transformer() пробовала - никакого эффекта.

Ниже код и результат:
data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
mystem <- function(doc) {
sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
sdoc <- str_replace(sdoc, '\\?', '')
sdoc <- str_replace(sdoc, '\\|.*$', '')
sdoc <- paste(sdoc, collapse=" ")
sdoc
}
f <- content_transformer(function(x) mystem(x))
data_cor_t <- tm_map(data_cor, f)
data_cor_t[[1]]$content

> data_cor_t[[1]]$content
[1] "раз два три четыре пять шесть"
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 04.02.2018 17:14     Сообщение для модератора  Сообщение для куратора темы     

(Vikulik @ 04.02.2018 15:51)
Ссылка на исходное сообщение  1. Функция Mystem разбивает текст на слова. Если слова в текст не соединять, то получается результат следующий (т.е. количество документов увеличивается до количества слов):
> data_cor_t[[1]]$content
[1] "раз"

2. С content_transformer() пробовала - никакого эффекта.

Ниже код и результат:
data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
mystem <- function(doc) {
  sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
  sdoc <- str_replace(sdoc, '\\?', '')
  sdoc <- str_replace(sdoc, '\\|.*$', '')
  sdoc <- paste(sdoc, collapse=" ")
  sdoc
}
f <- content_transformer(function(x) mystem(x))
data_cor_t <- tm_map(data_cor, f)
data_cor_t[[1]]$content

> data_cor_t[[1]]$content
[1] "раз два три четыре пять шесть"


CODE

> data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
> data_cor
<<SimpleCorpus>>
Metadata:  corpus specific: 1, document level (indexed): 0
Content:  documents: 2
> data_cor[[1]]
<<PlainTextDocument>>
Metadata:  7
Content:  chars: 11
> data_cor[[1]]$content
[1] "Раз два три"
> mystem <- function(doc) { sdoc <- sapply(doc, paste, collapse=" "); sdoc}
> data_cor_t <- tm_map(data_cor, content_transformer(mystem))
> data_cor_t[[1]]$content
[1] "Раз два три"
> data_cor_t[[2]]$content
[1] "четыре пять шесть"




но я по прежнему не понимаю что Вы хотите от paste()
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 04.02.2018 17:24     Сообщение для модератора  Сообщение для куратора темы     

(ПолинаШ @ 04.02.2018 14:43)
Ссылка на исходное сообщение  Очень не хочется маяться с логарифмами

Как оценить значимость D = 19.4 и показать, что снижение остаточной ошибки мало.
Или не мало....


https://stackoverflow.com/questions/1323782...glm-models-in-r
Участник оффлайн! Vikulik




 прочитанное сообщение 04.02.2018 17:53     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(Guest @ 04.02.2018 18:14)
но я по прежнему не понимаю что Вы хотите от paste()


Приведу на примере, как работает mystem и зачем нужно использовать paste.

data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
doc <- data_cor[[1]]$content

> doc
[1] "Раз два три"

sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
sdoc <- str_replace(sdoc, '\\?', '')
sdoc <- str_replace(sdoc, '\\|.*$', '')

> sdoc
[1] "раз" "два" "три"

Получается, что на выходе стемминга совокупность слов, которые нужно обратно собрать в документ. Если этого не сделать, то на выходе будет не 2 документа, а 6 документов.

mystem <- function(doc) {
sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
sdoc <- str_replace(sdoc, '\\?', '')
sdoc <- str_replace(sdoc, '\\|.*$', '')
sdoc
}
data_cor_t <- tm_map(data_cor, content_transformer(mystem))
> data_cor
<<SimpleCorpus>>
Metadata: corpus specific: 1, document level (indexed): 0
Content: documents: 2

> data_cor_t
<<SimpleCorpus>>
Metadata: corpus specific: 1, document level (indexed): 0
Content: documents: 6
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 04.02.2018 19:33     Сообщение для модератора  Сообщение для куратора темы     

(Vikulik @ 04.02.2018 17:53)
Ссылка на исходное сообщение  Приведу на примере, как работает mystem и зачем нужно использовать paste.

data_cor <- Corpus(VectorSource(as.character(c("Раз два три", "четыре пять шесть"))))
doc <- data_cor[[1]]$content

> doc
[1] "Раз два три"

sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
sdoc <- str_replace(sdoc, '\\?', '')
sdoc <- str_replace(sdoc, '\\|.*$', '')

> sdoc
[1] "раз" "два" "три"

Получается, что на выходе стемминга совокупность слов, которые нужно обратно собрать в документ. Если этого не сделать, то на выходе будет не 2 документа, а 6 документов.

mystem <- function(doc) {
  sdoc <- system('C:/Users/Downloads/mystem-3.1-win-64bit/mystem -ln -e cp1251', intern=T, input=doc)
  sdoc <- str_replace(sdoc, '\\?', '')
  sdoc <- str_replace(sdoc, '\\|.*$', '')
  sdoc
}
data_cor_t <- tm_map(data_cor, content_transformer(mystem))
> data_cor
<<SimpleCorpus>>
Metadata:  corpus specific: 1, document level (indexed): 0
Content:  documents: 2

> data_cor_t
<<SimpleCorpus>>
Metadata:  corpus specific: 1, document level (indexed): 0
Content:  documents: 6



А чем Вас не устраивает приведенное мной решение?

CODE

> mystem <- function(doc) { sdoc <- paste(doc, collapse=" "); sdoc}
> data_cor_t <- tm_map(data_cor, content_transformer(function(x) sapply(x, mystem)))
> data_cor_t[[2]]$content
[1] "четыре пять шесть"
> data_cor_t[[1]]$content
[1] "Раз два три"
>
Участник оффлайн! Vikulik




 прочитанное сообщение 04.02.2018 19:49     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(Guest @ 04.02.2018 20:33)
Ссылка на исходное сообщение  А чем Вас не устраивает приведенное мной решение?


К сожалению, скоростью. Я похожий вариант пробовала.

> system.time(tm_map(data_cor, content_transformer(function(x) sapply(x, mystem))))
пользователь система прошло
0.03 0.14 6.36

> system.time(Corpus(VectorSource(lapply(1:length(data_cor_t), function(i) mystem(data_cor_t[[i]]$content)))))
пользователь система прошло
0.01 0.11 6.36

> system.time(tm_map(data_cor_t, stemDocument, language = "russian"))
пользователь система прошло
0 0 0

Последний вариант - это стандартная функция стемминга Портера. Но она не устраивает тем, как приводит слова к первоначальной форме.
Участник оффлайн! Vikulik




 прочитанное сообщение 04.02.2018 19:52     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

В тестировании функции использовался другой набор данных из 30 документов.
Guest
IP-штамп: frd82cfYPkYIM
гость



 прочитанное сообщение 04.02.2018 21:44     Сообщение для модератора  Сообщение для куратора темы     

(Vikulik @ 04.02.2018 19:49)
Ссылка на исходное сообщение  К сожалению, скоростью. Я похожий вариант пробовала.

> system.time(tm_map(data_cor, content_transformer(function(x) sapply(x, mystem))))
пользователь      система      прошло
        0.03        0.14        6.36

> system.time(Corpus(VectorSource(lapply(1:length(data_cor_t), function(i) mystem(data_cor_t[[i]]$content)))))
пользователь      система      прошло
        0.01        0.11        6.36

> system.time(tm_map(data_cor_t, stemDocument, language = "russian"))
пользователь      система      прошло
          0            0            0

Последний вариант - это стандартная функция стемминга Портера. Но она не устраивает тем, как приводит слова к первоначальной форме.


в эту игру можно играть вдвоем smile.gif

добавьте в tm_map() опцию , lazy = TRUE

CODE

system.time(tm_map(data_cor, content_transformer(function(x) sapply(x, mystem)), lazy = TRUE))


покажите, сколько теперь на 30 документах?
Участник оффлайн! Vikulik




 прочитанное сообщение 04.02.2018 23:06     Сообщение для модератора  Сообщение для куратора темы       Личное письмо  Отправить e-mail

(Guest @ 04.02.2018 22:44)
Ссылка на исходное сообщение  
покажите, сколько теперь на 30 документах?


Вот результаты:

> system.time(tm_map(data_cor, content_transformer(function(x) sapply(x, mystem)), lazy = TRUE))
пользователь система прошло
0 0 0
> system.time(tm_map(data_cor, content_transformer(function(x) sapply(x, mystem)), lazy = FALSE))
пользователь система прошло
0.04 0.11 6.37

Единственное, что пришлось использовать волатильный корпус, т.е.:
data_cor <- VCorpus(VectorSource(...))
вместо data_cor <- Corpus(VectorSource(...))

Спасибо большое за помощь! Но если я понимаю правильно, функция tm_map применяется не к каждому элементу корпуса последовательно, а ко всем документам единовременно, и решение выше является единственно работающим, так?

*




Кнопка "Транслит" перекодирует
текст из транслита в кирилицу.
Правила перекодировки здесь;
текст в квадратных скобках'[]'
не преобразуется.
Имя:

 преобразовывать смайлики · показать смайлики
Назначение кнопок:

   Поблагодарить автора сообщения — поблагодарить автора
   Удалить сообщение — удалить
   Редактировать сообщение — редактировать
   Поместить сообщение в колонку новостей — поместить в колонку новостей
   Цитировать — цитировать сообщение
   не входит в цитирование/входит в цитирование — цитировать несколько
   Отметить СПАМ-сообщение — обозначить спам
   Сообщение для модератора — связь с модератором
   Участник онлайн!/Участник оффлайн! — автор онлайн/оффлайн
   Фотография — фотография автора

   - остальные обозначения -
 
   *
« Предыдущая тема · Биофизика и матметоды в биологии · Следующая тема »
Быстрый ответДобавить сообщение в темуСоздать новую тему

Rambler   molbiol.ru - методы, информация и программы для молекулярных биологов              

 ·  Викимарт - все интернет-магазины в одном месте  ·  Доска объявлений Board.com.ua  · 
--- сервер арендован в компании Hetzner Online, Германия ---
--- администрирование сервера: Intervipnet ---

Хеликон · Диаэм · ИнтерЛабСервис · Beckman Coulter · SkyGen · ОПТЭК · BIOCAD · Евроген · Синтол · БиоЛайн · Sartorius · Химэксперт · СибЭнзим · Tecan · Даниес · НПП "ТРИС" · Биалекса · ФизЛабПрибор · Genotek · АТГ Сервис Ген · Биоген-Аналитика
Ваш форум  ·  redactor@molbiol.ru  ·  реклама  ·  Дата и время: 19.04.24 14:49
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft