Обновите значение столбца первой строки с учетом критериев фильтрации по столбцу в R

Существуют разные причины неизменности:

  • Безопасность потоков: неизменяемые объекты не могут быть изменены и не могут измениться его внутреннее состояние, поэтому нет необходимости его синхронизировать.
  • Это также гарантирует, что все, что я отправляю через (через сеть), должно быть в том же состоянии, что и ранее отправлено. Это означает, что никто (подслушивающее устройство) не может прийти и добавить случайные данные в мой неизменный набор.
  • Это также проще разработать. Вы гарантируете, что никакие подклассы не будут существовать, если объект является неизменным. Например. String.

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

1
задан Carlos Vázquez Losada 18 January 2019 в 11:21
поделиться

1 ответ

Мы создаем индекс вместе с условием, является ли он duplicated

i1 <- with(fitness_calculations, individual == "nnn/nn/nn/nn" & gen_check ==  2)
i2 <- !duplicated(i1) & i1

fitness_calculations$gen_check[i2] <- 3
fitness_calculations
#    individual gen_check    acc   loss
#1 nnn/nn/nn/nn         3 0.9889 0.0112
#2     nnn/n/nn         2 0.7845 0.3451
#3 nnn/nn/nn/nn         2 0.5640 0.4231

Или другой вариант - заключить в which и извлечь только первый индекс

[111 ]

данные

fitness_calculations <- structure(list(individual = c("nnn/nn/nn/nn",
 "nnn/n/nn", "nnn/nn/nn/nn"
 ), gen_check = c(2L, 2L, 2L), acc = c(0.9889, 0.7845, 0.564), 
loss = c(0.0112, 0.3451, 0.4231)), class = "data.frame", row.names = c("1", 
 "2", "3"))
0
ответ дан akrun 18 January 2019 в 11:21
поделиться
Другие вопросы по тегам:

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