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

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


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



Форум: 
 

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


Добавить сообщение в темуСоздать новую темуСоздать голосование
Участник оффлайн! PS2004R
Постоянный участник



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

(Vikulik @ 04.02.2018 23:06)
Ссылка на исходное сообщение  
Спасибо большое за помощь! Но если я понимаю правильно, функция tm_map применяется не к каждому элементу корпуса последовательно, а ко всем документам единовременно, и решение выше является единственно работающим, так?


Вы можете естественно использовать варианты (l|s)apply() которые исполняются параллельно на нескольких ядрах, или вообще на кластере из нескольких машин.
Участник оффлайн! DSV2015




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

1. Есть вектор x.
2. Нужно разделить его на куски по 7 наблюдений со сдвигом 3 (пример).
3. Применить функцию cumsum (пример) для всех кусков.
4. Взять полученные значения из последних 3 наблюдений (из 7) каждого куска
и сложить в вектор x_rez (нужный результат).
Как сделать?


x <- c(1,2,3,4,5,6,7,8,9,10,11,12,13); x

x1 <- c(1,2,3,4,5,6,7); cumsum(x1)
x2 <- c(4,5,6,7,8,9,10); cumsum(x2)
x3 <- c(7,8,9,10,11,12,13); cumsum(x3)

# 1 2 3 4 5 6 7 8 9 10 11 12 13

# 1 3 6 10 15 21 28
# 4 9 15 22 30 39 49
# 7 15 24 34 45 57 70

x_rez <- c(15,21,28,30,39,49,45,57,70); x_rez

# 15 21 28 30 39 49 45 57 70 нужный результат!

Картинки:
картинка: 232323.jpg
232323.jpg — (82.9к)   

Guest
IP-штамп: frd82cfYPkYIM
гость



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

(DSV2015 @ 08.02.2018 00:27)
Ссылка на исходное сообщение  1. Есть вектор x.
2. Нужно разделить его на куски по 7 наблюдений со сдвигом 3 (пример).
3. Применить функцию cumsum (пример) для всех кусков.
4. Взять полученные значения из последних 3 наблюдений (из 7) каждого куска
  и сложить в вектор x_rez (нужный результат).
  Как сделать?
x <- c(1,2,3,4,5,6,7,8,9,10,11,12,13); x

x1 <- c(1,2,3,4,5,6,7); cumsum(x1)
x2 <- c(4,5,6,7,8,9,10); cumsum(x2)
x3 <- c(7,8,9,10,11,12,13); cumsum(x3)

# 1  2  3  4  5  6  7  8  9 10 11 12 13

# 1  3  6 10 15 21 28
#        4  9 15 22 30 39 49
#                  7 15 24 34 45 57 70

x_rez <- c(15,21,28,30,39,49,45,57,70); x_rez

# 15 21 28 30 39 49 45 57 70  нужный результат!


Работаем с индексами.

CODE

> (1:100)[0+(1:7)]
[1] 1 2 3 4 5 6 7
> getInd <- function(s) (1:100)[s+(1:7)]
> seq()
...=         from=        to=          by=          length.out=  along.with=  
> seq(from=0, to=length(1:100)-7, by=3)
[1]  0  3  6  9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72
[26] 75 78 81 84 87 90 93
> lapply(seq(from=0, to=length(1:100)-7, by=3), getInd)
[[1]]
[1] 1 2 3 4 5 6 7

[[2]]
[1]  4  5  6  7  8  9 10

.......

[[30]]
[1] 88 89 90 91 92 93 94

[[31]]
[1] 91 92 93 94 95 96 97

[[32]]
[1]  94  95  96  97  98  99 100



Дальше справитесь?

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




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

Guest

Нет.
Если нетрудно покажите пожалуйста готовую конструкцю.
Мне надо чтоб было 3 настройки.

w <- 7 (ширина окна)
s <- 3 (сдвиг, шаг сдвига)
fp <- cumsum (применяемая функция)
Участник оффлайн! bf109xxl
Участник



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

(DSV2015 @ 07.02.2018 23:55)
Мне надо чтоб было 3 настройки.


Тупое решение:
CODE

x <- 1:13
s=3
w=7
x.res <- c()
for (ii in 0:((length(x)-w) %/% s)) {
 x.res <- c(x.res,cumsum(x[(ii*s+1):(ii*s+w)])[(w-s+1):w])
}

Наверное, можно как-то сделать красиво ("векторно"), но, честно говоря, лень...

Дополнение. Ну, можно "for" на "sapply" заменить. Не сильно лучше:
CODE
x.res <- sapply((0:((length(x)-w) %/% s)), function(ii) {cumsum(x[(ii*s+1):(ii*s+w)])[(w-s+1):w]})


Сообщение было отредактировано bf109xxl - 08.02.2018 19:02

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



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

(DSV2015 @ 08.02.2018 00:55)
Ссылка на исходное сообщение  Guest

Нет.
Если нетрудно покажите пожалуйста готовую конструкцю.
Мне надо чтоб было 3 настройки.

w <-  7 (ширина окна)
s <-  3 (сдвиг, шаг сдвига)
fp <-  cumsum  (применяемая функция)


ну так неинтерсно, параметры то сами допишите

CODE


> getInd <- function(s) (1:100)[s+(1:7)]
> seq(from=0, to=length(1:100)-7, by=3)
[1]  0  3  6  9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72
[26] 75 78 81 84 87 90 93
> sapply(seq(from=0, to=length(1:100)-7, by=3), getInd)
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,]    1    4    7   10   13   16   19   22   25    28    31    34    37    40
[2,]    2    5    8   11   14   17   20   23   26    29    32    35    38    41
[3,]    3    6    9   12   15   18   21   24   27    30    33    36    39    42
[4,]    4    7   10   13   16   19   22   25   28    31    34    37    40    43
[5,]    5    8   11   14   17   20   23   26   29    32    35    38    41    44
[6,]    6    9   12   15   18   21   24   27   30    33    36    39    42    45
[7,]    7   10   13   16   19   22   25   28   31    34    37    40    43    46
    [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
[1,]    43    46    49    52    55    58    61    64    67    70    73    76
[2,]    44    47    50    53    56    59    62    65    68    71    74    77
[3,]    45    48    51    54    57    60    63    66    69    72    75    78
[4,]    46    49    52    55    58    61    64    67    70    73    76    79
[5,]    47    50    53    56    59    62    65    68    71    74    77    80
[6,]    48    51    54    57    60    63    66    69    72    75    78    81
[7,]    49    52    55    58    61    64    67    70    73    76    79    82
    [,27] [,28] [,29] [,30] [,31] [,32]
[1,]    79    82    85    88    91    94
[2,]    80    83    86    89    92    95
[3,]    81    84    87    90    93    96
[4,]    82    85    88    91    94    97
[5,]    83    86    89    92    95    98
[6,]    84    87    90    93    96    99
[7,]    85    88    91    94    97   100
> sapply(as.data.frame(sapply(seq(from=0, to=length(1:100)-7, by=3), getInd)),  function(i)  cumsum((1:100)[i]))
    V1 V2 V3 V4  V5  V6  V7  V8  V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19
[1,]  1  4  7 10  13  16  19  22  25  28  31  34  37  40  43  46  49  52  55
[2,]  3  9 15 21  27  33  39  45  51  57  63  69  75  81  87  93  99 105 111
[3,]  6 15 24 33  42  51  60  69  78  87  96 105 114 123 132 141 150 159 168
[4,] 10 22 34 46  58  70  82  94 106 118 130 142 154 166 178 190 202 214 226
[5,] 15 30 45 60  75  90 105 120 135 150 165 180 195 210 225 240 255 270 285
[6,] 21 39 57 75  93 111 129 147 165 183 201 219 237 255 273 291 309 327 345
[7,] 28 49 70 91 112 133 154 175 196 217 238 259 280 301 322 343 364 385 406
    V20 V21 V22 V23 V24 V25 V26 V27 V28 V29 V30 V31 V32
[1,]  58  61  64  67  70  73  76  79  82  85  88  91  94
[2,] 117 123 129 135 141 147 153 159 165 171 177 183 189
[3,] 177 186 195 204 213 222 231 240 249 258 267 276 285
[4,] 238 250 262 274 286 298 310 322 334 346 358 370 382
[5,] 300 315 330 345 360 375 390 405 420 435 450 465 480
[6,] 363 381 399 417 435 453 471 489 507 525 543 561 579
[7,] 427 448 469 490 511 532 553 574 595 616 637 658 679
> sapply(as.data.frame(sapply(seq(from=0, to=length(1:100)-7, by=3), getInd)),  function(i)  cumsum((1:100)[i]))[5:7,]
    V1 V2 V3 V4  V5  V6  V7  V8  V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19
[1,] 15 30 45 60  75  90 105 120 135 150 165 180 195 210 225 240 255 270 285
[2,] 21 39 57 75  93 111 129 147 165 183 201 219 237 255 273 291 309 327 345
[3,] 28 49 70 91 112 133 154 175 196 217 238 259 280 301 322 343 364 385 406
    V20 V21 V22 V23 V24 V25 V26 V27 V28 V29 V30 V31 V32
[1,] 300 315 330 345 360 375 390 405 420 435 450 465 480
[2,] 363 381 399 417 435 453 471 489 507 525 543 561 579
[3,] 427 448 469 490 511 532 553 574 595 616 637 658 679
> as.numeric(sapply(as.data.frame(sapply(seq(from=0, to=length(1:100)-7, by=3), getInd)),  function(i)  cumsum((1:100)[i]))[5:7,])
[1]  15  21  28  30  39  49  45  57  70  60  75  91  75  93 112  90 111 133 105
[20] 129 154 120 147 175 135 165 196 150 183 217 165 201 238 180 219 259 195 237
[39] 280 210 255 301 225 273 322 240 291 343 255 309 364 270 327 385 285 345 406
[58] 300 363 427 315 381 448 330 399 469 345 417 490 360 435 511 375 453 532 390
[77] 471 553 405 489 574 420 507 595 435 525 616 450 543 637 465 561 658 480 579
[96] 679

> sum(as.numeric(sapply(as.data.frame(sapply(seq(from=0, to=length(1:100)-7, by=3), getInd)),  function(i)  cumsum((1:100)[i]))[5:7,]))
[1] 28832




ибо сказано не давай рыбы, дай удочку smile.gif

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




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

Здравствуйте. Подскажите пожалуйста есть ли возможность выгрузить из R таблицу(data frame) в Excel?
Участник оффлайн! PS2004R
Постоянный участник



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

(IVly @ 27.02.2018 19:50)
Ссылка на исходное сообщение  Здравствуйте. Подскажите пожалуйста есть ли возможность выгрузить из R таблицу(data frame) в Excel?


Да, просто как *.csv сохранить. Смотрите ?write.csv()

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



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

(IVly @ 27.02.2018 18:50)
Ссылка на исходное сообщениеесть ли возможность выгрузить из R таблицу(data frame) в Excel?

Используйте xlsx. Там есть функция прямого экспорта в ексельский формат.

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




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

Здравствуйте. Возник еще один вопрос. Кто нибудь работал с библиотеков mice функцией (mice)? Собственно в чем вопрос есть база из 108 колонок 276 строк с пропущенными значениями и нужно эти значения востановить. Применяя данную функцию востановливается большая части пропушенных значений, но так же остаются и не востановленные.Но когда применяю эту функцию к выборке которая не заполнилась она заполняется. Немогу понять в чем дело. Может быть я что то делаю не так. может быть функция работает не с таким большим количеством данных. подскажите пожалйста?
Участник оффлайн! PS2004R
Постоянный участник



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

(IVly @ 28.02.2018 14:03)
Ссылка на исходное сообщение  Здравствуйте. Возник еще один вопрос. Кто нибудь работал с библиотеков mice функцией (mice)? Собственно в чем вопрос есть база из 108 колонок 276 строк с пропущенными значениями и нужно эти значения востановить. Применяя данную функцию востановливается большая части пропушенных значений, но так же остаются и не востановленные.Но когда применяю эту функцию к выборке которая не заполнилась она заполняется. Немогу понять в чем дело. Может быть я что то делаю не так. может быть функция работает не с таким большим количеством данных. подскажите пожалйста?


Там _импутация_ идет, она работает по принципу получения бутсреп оценки _целевого_ показателя статистики, а не заполнения исходных лакун в данных

Неопределенность от лакун измеряем, а не заполнение самих лакун делаем.

ps Для восстановления пропущенных данных возьмите какойто из вариантов рандомфореста, в них обычно есть такая опция.

Сообщение было отредактировано PS2004R - 28.02.2018 16:51

Всего благодарностей: 1Поблагодарили (1): IVly
Guest
IP-штамп: fr/dN633w4Kxs
гость



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

Всем, интересующимся R рекомендую к ознакомлению
http://books.goalkicker.com/RBook/
Участник оффлайн! PS2004R
Постоянный участник



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

(Guest @ 03.03.2018 16:01)
Ссылка на исходное сообщение  Всем, интересующимся R рекомендую к ознакомлению
http://books.goalkicker.com/RBook/


CODE

> 400/127
[1] 3.149606
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

Интересно, как они дергали контент со Stackoverflow -- автоматом через API или руками. Скорее первое, потому что примеры в "книге" оформлены по-разному. А pdfinfo сообщает, что PDF делался при помощи TCPDF, что намекает.
Участник оффлайн! TwentyOne




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

Привет всем. Можно ли удалить в data frame ячейку со значением, что бы вместо числа было NA. Заранее извеняюсь за такой глупый вопрос просто недавно начал изучать R).
Guest
IP-штамп: frd82cfYPkYIM
гость



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

(TwentyOne @ 04.03.2018 13:27)
Ссылка на исходное сообщение  Привет всем. Можно ли удалить в data frame ячейку со значением, что бы вместо числа было NA. Заранее извеняюсь за такой глупый вопрос просто недавно начал изучать R).


Почитайте "Введение в R" прямо с сайта, там все это объяснено.

Достаточно присвоить значение

данныеВдатафрейме[индексЯчейки] <- NA
Участник оффлайн! PS2004R
Постоянный участник



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

Теперь обучение с подкреплением (в том числе когда модель задана в keras) доступна в R.

Пользуемся smile.gif

https://cran.r-project.org/web/packages/rei...earn/index.html

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




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

жалуйста по текст-майнинговой задчи

Я выполнил текстовую кластеризацию с использованием k-среднего метода и получил кластеры.


mydat=read.csv("C:/kr_csv.csv", sep=";",dec=",")

tw.corpus <- Corpus(VectorSource(mydat$name))
tw.corpus <- tm_map(tw.corpus, removePunctuation)
tw.corpus <- tm_map(tw.corpus, removeNumbers)
tw.corpus = tm_map(tw.corpus, content_transformer(tolower))
tw.corpus = tm_map(tw.corpus, stemDocument)


doc.m <- DocumentTermMatrix(tw.corpus)

dtm_tfxidf<-weightTfIdf(doc.m)

m<-as.matrix(dtm_tfxidf)
rownames(m)<-1:nrow(m)

norm_eucl=function(m)
m/apply(m,1,function(x)sum(x^2)^.5)
m_norm=norm_eucl(m)

res=kmeans(m_norm,3,30)



Теперь у меня есть новый текстовый корпус и мне нужно назначить каждый корпус моему раннему выбранному кластеру.
Как это сделать?


нашел на стаковерфлоу этот пост, но что-то он мне не помог, задача с назначением текста к кластера таким способом у меня не решилась.
https://stackoverflow.com/questions/2062125...eans-clustering


прикрепил данные
http://rgho.st/8bDtYZfWd

Сообщение было отредактировано codeR - 17.03.2018 15:56
Участник оффлайн! IVly




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

Здравствуйте. Если кто знает подскажите, как в пакете TeachingDemos при работе с функцией faces2 вывести за какие части лица отвечают показатели т.е. легенду? legend = T не работает.
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

Там не предусмотрено легенды.
Если очень надо, делайте вручную, с помощью legend() и/или text()

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




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

Возможно я некорректно задал вопрос). Есть таблица (прикрепленный рисунок). Применяя функцию faces2(Data[,3:18],labels = Data$Группа) из пакета TeachingDemos к этому набору данных, строются лица, но нигде нет информации какой индекс отвечает например за ширину лица, какой за ширину глаз. И мой вопрос заключается в следующем можно ли узнать это испульзуя функцию faces2? Заранее спасибо)
Участник оффлайн! IVly




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

не знаю по какой причине но картинка не прикрепляется
Примерный вид таблицы:
Г/И Индекс 1| Индекс 2|Индекс 3| Индекс 4|Индекс 5
группа1 3,4876 0,8524 1,567 0,871 0,8355
группа 2 1,0777 1,1895 1,001 1,229 0,9916
группа 3 1,0074 1,1118 1,1916 0,8332 0,9360
группа 4 1,0176 0,8981 0,9568 1,2395 1,0096
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

> ?faces2

Details:
The features are: 1 Width of center 2 Top vs. Bottom width (height
of split) 3 Height of Face 4 Width of top half of face 5 Width of
bottom half of face 6 Length of Nose 7 Height of Mouth 8 Curvature
of Mouth (abs < 9) 9 Width of Mouth 10 Height of Eyes 11 Distance
between Eyes (.5-.9) 12 Angle of Eyes/Eyebrows 13 Circle/Ellipse
of Eyes 14 Size of Eyes 15 Position Left/Right of
Eyeballs/Eyebrows 16 Height of Eyebrows 17 Angle of Eyebrows 18
Width of Eyebrows

Всего благодарностей: 1Поблагодарили (1): IVly
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

data$Res <- model$Q$up

или что-то похожее, в зависимости от свойств объекта Q
Участник оффлайн! DSV2015




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

plantago

Спасибо, но я не правильно сформулировал вопрос. Мне нужно выполнить все этапы. Взять значения из
таблицы и поместить в отдельный столбец, в сторки аналогичные табличным.

Cоздадим для примера -
x <- c("x1","x3","x2","x3","x2")
y <- c("y1","y2","y3","y2","y2")
z <- c(0,1,-1,1,-1)
D <- data.frame(x,y,z)
T <- table(x,y)

D
T

Нужно - значения из таблицы T перенести в новый столбец Res датафрейма D по условию как на рисунке
user posted image
Пока дошел до этого - Из таблицы T
> T
    y
x    y1 y2 y3
  x1  1  0  0
  x2  0  1  1
  x3  0  2  0

Выделяю нужное значение
> T["x1","y1"]
[1] 1

Создаю столбец Res конкатенацией строк столбцов x и y
В надеже заменить тесктовые значения значениями из таблицы
D <- D[,-3]
D$Res <- paste(D$x, D$y, sep = "")
D

> D
  x  y  Res
1 x1 y1 x1y1
2 x3 y2 x3y2
3 x2 y3 x2y3
4 x3 y2 x3y2
5 x2 y2 x2y2

Нахожу "x1y1"
> (D[D$Res=="x1y1",])$Res
[1] "x1y1"

А заменить его на полученное ранее значение из таблицы не получается.

Даже в случае удачного исхода, данный метод не очень подходит, так как таблицы могут быть разного размера
и каждый раз переписывать код затруднительно. Возможно есть какие либо нормальные методы или пакеты.
Подскажите пожалуйста.
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

x <- c("x1","x3","x2","x3","x2")
y <- c("y1","y2","y3","y2","y2")
z <- c(0,1,-1,1,-1)
D <- data.frame(x,y,z)
T <- table(x,y)

D$Res <- paste0(D$x, D$y)

source("http://ashipunov.info/r/recode.r")
with(as.data.frame(T), as.numeric(Recode(D$Res, paste0(x, y), Freq)))

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



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

Есть две нижние треугольные матрицы без главных диагоналей (dist) типа
      A      B      C      D      E
B 0.7777    NA    NA    NA    NA
C 0.0043 0.0043    NA    NA    NA
D 0.0100 0.0100 0.9620    NA    NA
E 0.0043 0.0043 0.7350 0.9620    NA
F 0.3900 0.2610 0.0043 0.0043 0.0043

Нужно получить одну матрицу с главной диагональю (=0), симметрично которой расположены обе подматрицы.
Я это сделала, использовав около 14 команд R: в каждую из них добавляла строку и столбец с необходимыми именами, заменяла NA на 0, одну из матриц транспонировала, а потом обе матрицы складывала.
Чую, что можно короче, но как?
Участник оффлайн! ПолинаШ
Участник



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

Извините, удалось самой сократиться до 6 команд:
ToSimm <- function (x)  {
  nm1 <- unique(c(colnames(x), rownames(x)))
  x1 <- matrix(NA, ncol=length(nm1), nrow=length(nm1), dimnames=list(nm1, nm1))
  x1[match(rownames(x), nm1), match(colnames(x), nm1)] <- x
  x1[is.na(x1)] <- 0
  return (x1)
}
ToSimm(m1) + t(ToSimm(m2))


Всего благодарностей: 1Поблагодарили (1): plantago
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

Можно еще как-то попробовать использовать upper.tri() / lower.tri()
Участник оффлайн! ПолинаШ
Участник



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

Ага, спасибо. Использование lower.tri() + t() сократило процедуру до 4 команд.

Но теперь другой вопрос.
Ms <- Ms[order(Ms$ДИ_верх),]
ggplot() +
  geom_errorbar(data=Ms, mapping=aes(x=spray, ymin=ДИ_нижн,
      ymax=ДИ_верх), width=0.15, size=1) +
  geom_point(data=Ms, mapping=aes(x=spray, y=count.Sd),
      size=4, shape=21, fill="white") +
  theme_bw()

Как перестроить график не по фактору, а по возрастанию ДИ_верх? Чтобы легче фиксировать пересечение. Сортировка исходной таблицы к результату не приводит.

Картинки:
картинка: ____4.png
____4.png — (30.05к)   

Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

Бросить ggplot2 и пересесть на базовые графики? wink.gif

По-моему, нужен только plot() и arrows()...
Участник оффлайн! PS2004R
Постоянный участник



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

(ПолинаШ @ 24.04.2018 21:49)
Ссылка на исходное сообщение  Ага, спасибо. Использование  lower.tri() + t() сократило процедуру до 4 команд.

Но теперь другой вопрос.

Как перестроить график не по фактору, а по возрастанию ДИ_верх? Чтобы легче фиксировать пересечение. Сортировка исходной таблицы к результату не приводит.


переставьте _уровни_ фактора в нужном порядке

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




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

Здравствуйте. Есть массив данных с пропушенными значениеями, можно ли как то в R вывести % пропусков по каждому показателю?
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

lapply(data.frame, function(.x) 100*table(is.na(.x))/nrow(data.frame)) или что-то похожее

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




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

Приветствую всех!

При работе над прогнозированием данных столкнулся с проблемой:
Error: cannot allocate vector of size 3.9 Gb

Она возникает при создании модели линейной регрессии:
m1 <- lm(Sales ~ Store, data.train)

Как побороть эту проблему?
Работаю в R-Studio (Version 1.1.453), R - 3.5.0, 64-x
ОЗУ 8 GB
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

Поставьте еще 4 Gb памяти, или распараллельте и/или оптимизируйте код
Участник оффлайн! PS2004R
Постоянный участник



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

(SanchoD @ 30.05.2018 12:04)
Ссылка на исходное сообщение  Приветствую всех!

При работе над прогнозированием данных столкнулся с проблемой:
Error: cannot allocate vector of size 3.9 Gb

Она возникает при создании модели линейной регрессии:
m1 <- lm(Sales ~ Store, data.train)

Как побороть эту проблему?
Работаю в R-Studio (Version 1.1.453), R - 3.5.0, 64-x
ОЗУ 8 GB


1) Было бы уместно обращаясь с такой просьбой все таки показать результат str(data.train)

2) Ну а что показывает на этом датасете https://cran.r-project.org/web/packages/biglm/index.html ?

CODE

library(biglm)
?biglm()


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




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

(PS2004R @ 30.05.2018 21:29)
Ссылка на исходное сообщение  1) Было бы уместно обращаясь с такой просьбой все таки показать результат str(data.train)

2) Ну а что показывает на этом датасете https://cran.r-project.org/web/packages/biglm/index.html  ?

CODE

library(biglm)
?biglm()



Да, конечно:
1) > str(data.train)
'data.frame': 618778 obs. of 20 variables:
$ Store : Factor w/ 856 levels "1","3","7","8",..: 1 1 1 1 1 1 1 1 1 1 ...
$ DayOfWeek : Factor w/ 7 levels "1","2","3","4",..: 1 1 3 5 3 4 3 3 1 5 ...
$ Date : Date, format: "2014-01-13" "2013-02-25" ...
$ Sales : int 3994 4038 4946 4150 5256 3920 4957 5230 5197 4019 ...
$ Promo : Factor w/ 2 levels "0","1": 1 1 2 1 2 1 2 1 2 1 ...
$ StateHoliday : Factor w/ 4 levels "0","a","b","c": 1 1 1 1 1 1 1 1 1 1 ...
$ SchoolHoliday : Factor w/ 2 levels "0","1": 1 1 2 1 1 2 1 1 1 1 ...
$ DateYear : num 2014 2013 2013 2013 2014 ...
$ DateMonth : num 1 2 7 6 6 8 10 5 6 6 ...
$ DateDay : num 13 25 17 14 18 28 9 8 29 27 ...
$ DateWeek : num 2 8 28 23 24 34 40 18 26 25 ...
$ StoreType : Factor w/ 4 levels "a","b","c","d": 3 3 3 3 3 3 3 3 3 3 ...
$ Assortment : Factor w/ 3 levels "a","b","c": 1 1 1 1 1 1 1 1 1 1 ...
$ CompetitionDistance : num 1270 1270 1270 1270 1270 1270 1270 1270 1270 1270 ...
$ CompetitionOpenSinceMonth: num 9 9 9 9 9 9 9 9 9 9 ...
$ CompetitionOpenSinceYear : num 2008 2008 2008 2008 2008 ...
$ Promo2 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ Promo2SinceWeek : num 0 0 0 0 0 0 0 0 0 0 ...
$ Promo2SinceYear : num 0 0 0 0 0 0 0 0 0 0 ...
$ PromoInterval : Factor w/ 4 levels "","Feb,May,Aug,Nov",..: 1 1 1 1 1 1 1 1 1 1 ...
>

2) Попробовал:

> library(biglm)
Загрузка требуемого пакета: DBI
> ?biglm()
> m1 <- lm(Sales ~ Store, data.train)
Error: cannot allocate vector of size 3.9 Gb
> ff <- Sales ~ Store
> biglm(ff,data.train)
Error: cannot allocate vector of size 3.9 Gb
>
Участник оффлайн! SanchoD




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

(plantago @ 30.05.2018 19:17)
Ссылка на исходное сообщение  Поставьте еще 4 Gb памяти, или распараллельте и/или оптимизируйте код


Хотел попробовать на домашнем ПК (ОЗУ 16GB). Так там другая проблема, перестали пакеты устанавливаться. Удалил R и RStudio и установил заново. Даже антивирус удалил (на всякий случай). Ничего не помогло.
Ввожу имя пакета (причем, если на рабочем компе по первым символам сразу появляются доступные варианты для выбора, здесь ничего этого нет), нажимаю Инсталл. Долго ничего не происходит, а потом пишет что недоступен ресурс. Если ввожу адрес ресурса в браузер, все открывается. Пробовал менять зеркала - результат тот же.

А можно поподробнее про распараллеливание? Какие варианты возможны в моем случае? Я, к сожалению, чайник в этом - дочке помогаю делать работу по статистике.
Участник оффлайн! SanchoD




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

(PS2004R @ 30.05.2018 21:29)
Ссылка на исходное сообщение  1) Было бы уместно обращаясь с такой просьбой все таки показать результат str(data.train)

2) Ну а что показывает на этом датасете https://cran.r-project.org/web/packages/biglm/index.html  ?

CODE

library(biglm)
?biglm()



Супер, спасибо!
Получилось. Внимательней изучил хелп функции. Разбил таблицу на 3 и модель прогноза сформировалась.

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



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

(SanchoD @ 31.05.2018 08:46)
Ссылка на исходное сообщение
Ввожу имя пакета (причем, если на рабочем компе по первым символам сразу появляются доступные варианты для выбора, здесь ничего этого нет), нажимаю Инсталл. Долго ничего не происходит, а потом пишет что недоступен ресурс. Если ввожу адрес ресурса в браузер, все открывается. Пробовал менять зеркала - результат тот же.

Скорее всего, дефолтные установки прокси для IE и для дефолтного броузера различаются - проверьте. Виндовая версия R, АФАИК, использует по умолчанию стандартные установки IE. Настроить прокси для R можно, например, отредактировав должным образом файл Renviron.site в <R_HOME>\etc. Или пользовательский Renviron.
Или зеркало CRAN не указано, хотя это маловероятно.

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




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

(bf109xxl @ 31.05.2018 14:03)
Ссылка на исходное сообщение  Скорее всего, дефолтные установки прокси для IE и для дефолтного броузера различаются - проверьте. Виндовая версия R, АФАИК, использует по умолчанию стандартные установки IE. Настроить прокси для R можно, например, отредактировав должным образом файл Renviron.site в <R_HOME>\etc. Или пользовательский Renviron.
Или зеркало CRAN не указано, хотя это маловероятно.


Спасибо, попробую.
Участник оффлайн! SanchoD




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

(bf109xxl @ 31.05.2018 14:03)
Ссылка на исходное сообщение  Скорее всего, дефолтные установки прокси для IE и для дефолтного броузера различаются - проверьте. Виндовая версия R, АФАИК, использует по умолчанию стандартные установки IE. Настроить прокси для R можно, например, отредактировав должным образом файл Renviron.site в <R_HOME>\etc. Или пользовательский Renviron.
Или зеркало CRAN не указано, хотя это маловероятно.


А Вы случайно не в курсе, как можно перенести все пакеты с одного компа на другой?
Пробовал копировать каталоги R и RStudio целиком, но не взлетело. На целевой машине так и остались только базовые пакеты. Через архивы с сайта не очень удобно, там один пакет начинает тянуть дополнительные.
Участник оффлайн! bf109xxl
Участник



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

(SanchoD @ 31.05.2018 16:47)
Ссылка на исходное сообщение  А Вы случайно не в курсе, как можно перенести все пакеты с одного компа на другой?


Надежнее всего устанавливать пакеты через install.packages(). Если версия R одинаковая (или даже если близкая - например, 3.4.2 и 3.4.3, хотя для 3.4.X и 3.5.X уже возможна несовместимость, АФАИК), то можно и копировать. Обычно установленные пользователем пакеты находятся в %userprofile%\Documents\R\win-library\<номер версии>, если этот путь не менялся вручную.
Участник оффлайн! SanchoD




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

(bf109xxl @ 31.05.2018 14:03)
Ссылка на исходное сообщение  Скорее всего, дефолтные установки прокси для IE и для дефолтного броузера различаются - проверьте. Виндовая версия R, АФАИК, использует по умолчанию стандартные установки IE. Настроить прокси для R можно, например, отредактировав должным образом файл Renviron.site в <R_HOME>\etc. Или пользовательский Renviron.
Или зеркало CRAN не указано, хотя это маловероятно.


Спасибо, помогло!
Действительно, в IE был прописан какой-то кривой прокси.
Участник оффлайн! SanchoD




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

Приветствую, коллеги!

Наткнулся на очередные грабли.
Пытаюсь удалить 2 колонки из data.frame:

data <- data[, -c("AGREEMENT_RK","DL_DOCUMENT_FL")]

Ругается:
Error in -c("AGREEMENT_RK", "DL_DOCUMENT_FL") :
invalid argument to unary operator

Что не так?

str(data)
'data.frame': 15223 obs. of 52 variables:
$ AGREEMENT_RK : int 59910150 59910230 59910525 59910803 59911781 59911784 59911832 59912034 59912560 59912659 ...
$ TARGET : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ AGE : int 49 32 52 39 30 29 35 41 53 43 ...
$ SOCSTATUS_WORK_FL : int 1 1 1 1 1 1 1 1 1 1 ...
$ SOCSTATUS_PENS_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ GENDER : int 1 1 1 1 0 0 0 1 0 1 ...
$ CHILD_TOTAL : int 2 3 4 1 0 0 1 0 2 0 ...
$ DEPENDANTS : int 1 3 0 1 0 0 1 0 0 0 ...
$ EDUCATION : Factor w/ 7 levels "<0xC2FBF1F8E5E5>",..: 6 5 4 1 5 5 1 5 1 6 ...
$ MARITAL_STATUS : Factor w/ 5 levels "<0xC2E4EEE2E5F6>/<0xC2E4EEE2E0>",..: 5 5 5 5 5 2 4 5 5 5 ...
$ GEN_INDUSTRY : Factor w/ 31 levels "<0xC1E0EDEA>/<0xD4E8EDE0EDF1FB>",..: 24 24 5 14 2 24 3 21 4 14 ...
$ GEN_TITLE : Factor w/ 12 levels "<0xC2EEE5EDEDEEF1EBF3E6E0F9E8E9> <0xEFEE> <0xEAEEEDF2F0E0EAF2F3>",..: 7 7 12 10 12 12 12 7 8 12 ...
$ ORG_TP_STATE : Factor w/ 5 levels "<0xC3EEF1F3E4E0F0F1F2E2E5EDEDE0FF> <0xEAEEECEF>./<0xF3F7F0E5E6>.",..: 5 2 1 1 1 5 1 5 5 1 ...
$ ORG_TP_FCAPITAL : Factor w/ 2 levels "<0xC1E5E7> <0xF3F7E0F1F2E8FF>",..: 1 1 1 1 1 1 1 1 1 1 ...
$ JOB_DIR : Factor w/ 10 levels "<0xC0E4EC>-<0xF5EEE7>. <0xE8> <0xF2F0E0EDF1EF>. <0xF1EBF3E6E1FB>",..: 3 9 9 9 9 1 9 9 9 9 ...
$ FAMILY_INCOME : Factor w/ 5 levels "<0xE4EE> 5000 <0xF0F3E1>.",..: 2 2 2 3 2 3 3 2 5 2 ...
$ PERSONAL_INCOME : int 5000 12000 9000 25000 12000 12000 15000 6000 100000 7000 ...
$ REG_ADDRESS_PROVINCE : Factor w/ 81 levels "<0xC0E3E8EDF1EAE8E9> <0xC1F3F0FFF2F1EAE8E9> <0xC0CE>",..: 47 20 19 53 20 8 13 12 81 31 ...
$ FACT_ADDRESS_PROVINCE : Factor w/ 81 levels "<0xC0E3E8EDF1EAE8E9> <0xC1F3F0FFF2F1EAE8E9> <0xC0CE>",..: 47 20 19 53 20 8 13 12 81 31 ...
$ POSTAL_ADDRESS_PROVINCE : Factor w/ 80 levels "<0xC0E3E8EDF1EAE8E9> <0xC1F3F0FFF2F1EAE8E9> <0xC0CE>",..: 46 19 18 52 19 8 13 12 80 30 ...
$ TP_PROVINCE : Factor w/ 70 levels "<0xC0E4FBE3E5FF>",..: 41 55 17 47 55 7 12 11 70 27 ...
$ REGION_NM : Factor w/ 11 levels "<0xC2CED1D2CED7CDCE>-<0xD1C8C1C8D0D1CAC8C9>",..: 4 11 1 11 11 9 10 11 10 11 ...
$ REG_FACT_FL : int 1 1 1 0 1 1 1 1 1 1 ...
$ FACT_POST_FL : int 1 1 1 1 1 1 1 1 1 1 ...
$ REG_POST_FL : int 1 1 1 0 1 1 1 1 1 1 ...
$ REG_FACT_POST_FL : int 1 1 1 0 1 1 1 1 1 1 ...
$ REG_FACT_POST_TP_FL : int 1 0 1 1 0 1 1 1 1 1 ...
$ FL_PRESENCE_FL : int 0 0 0 1 0 0 1 1 0 1 ...
$ OWN_AUTO : int 0 0 0 0 0 1 0 0 0 0 ...
$ AUTO_RUS_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ HS_PRESENCE_FL : int 0 0 1 0 1 0 0 0 0 0 ...
$ COT_PRESENCE_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ GAR_PRESENCE_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ LAND_PRESENCE_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ CREDIT : int 8000 21650 33126 NA 21990 30615 10450 15035 NA 4440 ...
$ TERM : int 6 6 12 6 12 12 3 10 4 6 ...
$ FST_PAYMENT : int 8650 4000 4000 5000 4000 3500 15000 465 NA 540 ...
$ DL_DOCUMENT_FL : int 0 0 0 0 0 0 0 0 0 0 ...
$ GPF_DOCUMENT_FL : int 1 1 1 0 1 0 1 1 0 0 ...
$ FACT_LIVING_TERM : int 220 137 251 36 83 108 48 204 228 279 ...
$ WORK_TIME : int 18 97 84 168 101 40 6 6 156 72 ...
$ FACT_PHONE_FL : int 0 1 0 1 1 1 0 1 1 0 ...
$ REG_PHONE_FL : int 0 0 0 1 0 0 0 1 0 0 ...
$ GEN_PHONE_FL : int 1 1 1 1 1 1 1 1 1 1 ...
$ LOAN_NUM_TOTAL : int 1 1 2 1 2 2 2 2 1 1 ...
$ LOAN_NUM_CLOSED : int 1 1 1 1 1 1 2 1 1 1 ...
$ LOAN_NUM_PAYM : int 6 6 11 6 16 11 14 11 3 6 ...
$ LOAN_DLQ_NUM : int 2 1 0 3 2 0 0 0 0 0 ...
$ LOAN_MAX_DLQ : int 1 1 0 1 1 0 0 0 0 0 ...
$ LOAN_AVG_DLQ_AMT : int 1580 4020 0 NA NA 0 0 0 0 0 ...
$ LOAN_MAX_DLQ_AMT : int 1580 4020 0 1590 2230 0 0 0 0 0 ...
$ PREVIOUS_CARD_NUM_UTILIZED: int NA NA NA NA NA NA NA NA NA NA ...
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

> str(trees)
'data.frame': 31 obs. of 3 variables:
$ Girth : num 8.3 8.6 8.8 10.5 10.7 10.8 11 11 11.1 11.2 ...
$ Height: num 70 65 63 72 81 83 66 75 80 75 ...
$ Volume: num 10.3 10.3 10.2 16.4 18.8 19.7 15.6 18.2 22.6 19.9 ...
> data <- trees[, -c("Girth", "Volume")]
Error in -c("Girth", "Volume") : invalid argument to unary operator
> data <- trees[, -which((names(trees) %in% c("Girth", "Volume"))), drop=F] # в Вашем случае drop=F не нужен
> str(data)
'data.frame': 31 obs. of 1 variable:
$ Height: num 70 65 63 72 81 83 66 75 80 75 ...
Участник оффлайн! SanchoD




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

(plantago @ 21.06.2018 20:31)
Ссылка на исходное сообщение  


Спасибо, помогло.
Странно, что этот код я скопировал из листинга на сайте. Если публикатор получил результат, значит у него это работало?
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

> Странно, что этот код я скопировал из листинга на сайте.
Ссылку можете дать?
Это базовый R:
"For ‘[’-indexing only: ... `i’, ‘j’, ‘...’ can also be negative _integers_ (подчеркивание мое), indicating elements/slices to leave out of the selection."
Участник оффлайн! plantago
Постоянный участник
Minot, ND



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

А, я, кажется, догадался. http://biostat-r.blogspot.com/2018/03/boruta.html , так?

Тогда

> library(data.table)
# > ?"[.data.table" # вот где собака
> tt <- as.data.table(trees)[, -c("Height", "Volume")]
> str(tt)
Classes ‘data.table’ and 'data.frame': 31 obs. of 1 variable:
$ Girth: num 8.3 8.6 8.8 10.5 10.7 10.8 11 11 11.1 11.2 ...
- attr(*, ".internal.selfref")=<externalptr>

Мораль отсюда любая. Я для себя вывожу, как всегда, KISS ("keep it simple") и стараюсь не использовать внешние библиотеки без _абсолютной_ на то необходимости.

*




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

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

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

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

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

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

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