если выражение в сгруппированных данных

Если ваш вход 2 hello hi

nextInt () - просто прочитайте следующий токен как int (Здесь - это 2), иначе он даст ошибку

next () - просто прочитайте следующий токен, (здесь - hello)

nextline () - Он читает строку, пока не получит новую строку (здесь - после чтения предыдущего 2 hello ввода nextInt, next; nextline читает hi только потому, что после этого находит новую строку)

, если вход

2 

Hi 

Hello 

nextInt, следующий для обсуждения выше.

В nextline () он находит новую строку после завершения ввода Hi, прочитанного next (). Итак, nextline () перестает читать ввод для получения символа новой строки.

0
задан Alexander 14 July 2018 в 01:03
поделиться

1 ответ

Мне не нужно писать функцию.

test%>%group_by(set,gr)%>%mutate(calss=ifelse(any(stringr::str_detect(gr,'a|b')&(set==vals)),'catched',NA)
+ )
# A tibble: 18 x 4
# Groups:   set, gr [6]
     set     gr  vals   calss
   <dbl> <fctr> <dbl>   <chr>
 1     1      a    10    <NA>
 2     1      a    10    <NA>
 3     1      a     9    <NA>
 4     1      b     8 catched
 5     1      b     1 catched
 6     1      b     1 catched
 7     2      a    10    <NA>
 8     2      a    10    <NA>
 9     2      a    10    <NA>
10     2      b     9 catched
11     2      b     6 catched
12     2      b     2 catched
13     3      a    10    <NA>
14     3      a     7    <NA>
15     3      a     6    <NA>
16     3      b     1    <NA>
17     3      b     1    <NA>
18     3      b     2    <NA>
1
ответ дан Wen 17 August 2018 в 12:04
поделиться
  • 1
    спасибо за решение. Это может сработать, но мне нужно применить функцию к моим данным, потому что у меня есть куча условий, которые я хотел бы поместить в функцию. – Alexander 14 July 2018 в 01:09
  • 2
    @Alexander ваша функция работает для меня, я думаю, вы присоединились plyr и dplyr, попробуйте test%>% group_by(set,gr)%>% dplyr::mutate(class=class_fun(gr,set,vals)) – Wen 14 July 2018 в 01:11
  • 3
    @wow я перезагрузил все пакеты, и это сработало. Я никогда не устанавливал plyr, но это могут быть некоторые другие пакеты, такие как `ggplot2`` reshape2` `broom` могли бы вызвать это. Большое спасибо – Alexander 14 July 2018 в 01:18
Другие вопросы по тегам:

Похожие вопросы: