Заменить все дублированные на na

вам нужно сделать

class one{
 Integer b;
 {
    b=Integer.valueOf(2);
 }
}

, поскольку операторы должны появиться в блоке кода.

В этом случае блок является блоком инициализатора, который добавляется к каждому конструктор (или конструктор по умолчанию в этом случае) Он запускается после любого вызова super() и перед основным блоком кода в любом конструкторе.

BTW: у вас может быть статический блок инициализации с static { }, который вызывается, когда класс инициализирован.

например

class one{
 static final Integer b;

 static {
    b=Integer.valueOf(2);
 }
}
0
задан Lalitha 16 January 2019 в 17:27
поделиться

2 ответа

foo = function(x){
    replace(x, ave(x, x, FUN = length) > 1, NA)
}

myCols = c("x", "y")
df1[myCols] = lapply(df1[myCols], foo)
df1
#  box_num       date      x    y
#1    6-WQ 2018-11-18  20.20  8.0
#2    6-WQ 2018-11-25     NA  7.2
#3    6-WQ  2018-12-2     NA 23.0
#4   25-LR 2018-11-18 374.95  4.3
#5   25-LR 2018-11-25     NA  9.3
#6   25-LR  2018-12-2     NA  4.0
#7   73-IU  2018-12-2     NA   NA
#8   73-IU  2018-12-9  28.00   NA
#9   73-IU 2018-12-16     NA 52.8

#DATA
df1 = structure(list(box_num = c("6-WQ", "6-WQ", "6-WQ", "25-LR", "25-LR", 
"25-LR", "73-IU", "73-IU", "73-IU"), date = c("2018-11-18", "2018-11-25", 
"2018-12-2", "2018-11-18", "2018-11-25", "2018-12-2", "2018-12-2", 
"2018-12-9", "2018-12-16"), x = c(20.2, 500.75, 500.75, 374.95, 
0.134, 0.134, 225.54, 28, 225.54), y = c(8, 7.2, 23, 4.3, 9.3, 
4, 0.7562, 0.7562, 52.8)), class = "data.frame", row.names = c(NA, 
-9L))
0
ответ дан d.b 16 January 2019 в 17:27
поделиться

С помощью tidyverse вы можете сделать:

df %>%
 group_by(box_num) %>%
 mutate_at(vars(x:y), funs(ifelse(. %in% subset(rle(sort(.))$values, rle(sort(.))$length > 1), NA, .)))

  box_num date           x     y
  <fct>   <fct>      <dbl> <dbl>
1 6-WQ    2018-11-18  20.2  8.00
2 6-WQ    2018-11-25  NA    7.20
3 6-WQ    2018-12-2   NA   23.0 
4 25-LR   2018-11-18 375.   4.30
5 25-LR   2018-11-25  NA    9.30
6 25-LR   2018-12-2   NA    4.00
7 73-IU   2018-12-2   NA   NA   
8 73-IU   2018-12-9   28.0 NA   
9 73-IU   2018-12-16  NA   52.8 

Во-первых, он сортирует значения по «х» и «у» и вычисляет длину пробега равных значений. Во-вторых, он создает подмножество для тех значений, у которых длина прогона> 1. Наконец, он сравнивает, находятся ли значения в «x» и «y» в подмножестве, и если да, то они получают NA.

0
ответ дан tmfmnk 16 January 2019 в 17:27
поделиться
Другие вопросы по тегам:

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