Cómo elegir un elemento único de una lista dentro de un bucle en R

Para una primera aproximación, si está utilizando un bucle for en R, lo está haciendo mal.

Hay dos preguntas diferentes que podría estar haciendo.

  1. ¿Cómo devuelvo una lista de valores únicos en los que he realizado una operación?
  2. ¿Cómo modifico valores únicos de una lista en su lugar?

Supongo que pretendías lo primero. Aquí hay un ejemplo.

> x <-runif (100000)
> longitud (único (x))
[1] 99997

x es una lista de 100k números aleatorios, de los cuales 99997 son únicos.

Dupliquemos todos los valores únicos usando un bucle for.

> inicio <-proc.time (); lista_unica <- única (x); doubled_list <- NULL; for (i en unique_list) {doubled_list <- c (doubled_list, 2 * i)}; detener <-proc.time ()
> parada-inicio
sistema de usuario transcurrido
13.887 9.337 23.283

Ok, ¿podemos hacerlo mejor?

> inicio <-proc.time (); doubled_list <- sapply (unique (x), function (i) 2 * i); detener <-proc.time ()
> parada-inicio
sistema de usuario transcurrido
0.061 0.010 0.077

Eso es dos órdenes de magnitud más rápido.

New_list = Unique (your_list)
para (i en Nueva_lista): {
#Tus acciones
}

¿Por qué querrías filtrar los elementos únicos mientras estás en el bucle?

Simplemente recorra los elementos únicos. Es más fácil y más eficiente.

More Interesting

¿Cuál es el problema si clasificamos los intervalos según su tiempo de finalización como el problema de programación de intervalos? ¿Por qué es necesario ordenar según la hora de inicio en el problema de partición de intervalos?

Cómo hacer que mis veranos sean productivos cuando mi interés radica en la codificación competitiva

¿Cuáles son las listas vinculadas en Java y qué las hace mejores que las matrices normales?

¿Cuáles son los 10 mejores algoritmos del siglo XX?

¿Cómo entrenan algunas aplicaciones los algoritmos de aprendizaje automático en tiempo real en su teléfono?

¿Cuáles son los diferentes tipos de algoritmos?

¿Cuáles son algunos métodos de diagnóstico utilizados en un algoritmo de agrupamiento?

¿Se conoce algún algoritmo general para factorizar números muy grandes?

¿Son 2 horas de entrenamiento de rompecabezas de algoritmos por día durante un año suficiente para prepararse para la entrevista de Google?

Cómo encontrar la suma de números naturales que suman N usando formularios y funciones en HTML

¿Hay diseñadores que diseñan algoritmos?

¿Encontrar XOR de pares ordenados en una matriz que está incluso con O (n)?

¿Crees que KNN tiene privilegios en comparación con otros algoritmos de aprendizaje automático porque aprende con el tiempo?

Dada una matriz que contiene enteros distintos, ¿cuál es el número promedio de veces que se establece el valor máximo del elemento al encontrarlo?

¿Cuáles son los conceptos de software que todo programador debe saber?