Desearía crear un bucle que me permita realizar el calculo de una tabla para cada año estoy trabajando en RSTUDIO

Al momento la programación para cada año la realizo manualmente:

Data_2007 <- Data%>% 
  filter(Año== 2007,
         Tipo.de.variable=="Valor Agregado Bruto (VAB)")%>%
  group_by(Año,Tipo.de.variable,Familia.industria,)%>%
  summarise(total=sum(Valor,na.rm = T))%>%
  pivot_wider(names_from = Tipo.de.variable,
              values_from=total)
Data_2008 <- Data%>% 
  filter(Año== 2008,
         Tipo.de.variable=="Valor Agregado Bruto (VAB)")%>%
  group_by(Año,Tipo.de.variable,Familia.industria,)%>%
  summarise(total=sum(Valor,na.rm = T))%>%
  pivot_wider(names_from = Tipo.de.variable,
              values_from=total)

Desearía crear un bucle que realice el calculo para cada año, mi serie de datos va desde el año 2007 al 2014.

sql – ¿Existe alguna forma de que actualizar el valor de una tabla usando de referencia otra automaticamente?

Tengo que crear las tablas necesarias para el manejo de una pagina de streaming tipo Netflix. La pagina cuenta con una tabla “principal” llamada plataforma que sirve para guardar distintos servidores y las relaciones necesarias entre las plataformas y los contenidos.

A la hora de crear los contenidos, estos contenidos están separados en Series y películas, cada uno con su tabla correspondiente.

Tabla Plataforma:

 CREATE TABLE Plataforma(
    DirecServidor NUMBER PRIMARY KEY,
    Nombre VARCHAR(30) NOT NULL,
    NumeroSubs INT,
    NumeroContenidos INT,
    Precio NUMBER(8,2) NOT NULL,
    CHECK (Precio>=0)
);

Tabla Serie y tabla Película:

CREATE TABLE Serie(
    IDContenido NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    Titulo VARCHAR(15) NOT NULL,
    Descripcion VARCHAR(90) NOT NULL,
    NTemporadas NUMBER,
    DirecServidor NUMBER NOT NULL,
    FOREIGN KEY (DirecServidor) REFERENCES Plataforma(DirecServidor)
);
CREATE TABLE Pelicula(
    IDContenido NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    Titulo VARCHAR(15) NOT NULL,
    Descripcion VARCHAR(90) NOT NULL,
    Director VARCHAR(30),
    Guionista VARCHAR(30),
    Duracion NUMBER(3,2),
    DirecServidor NUMBER NOT NULL,
    FOREIGN KEY (DirecServidor) REFERENCES Plataforma(DirecServidor)
); 

El identificador de las películas y de las series se genera automáticamente si no se proporciona uno (a base de contador)

Me gustaría que la columna de numeroContenidos en la tabla plataforma cuente el numero de contenidos, tanto películas como series y que los identificadores de los contenidos vayan de acuerdo con ese numero (si hay 2 películas y una serie, al introducir una serie nueva el Id sería 4 y no 2).

Podría hacerlo si cuando llamo a la función de insert tambien hago un Update a plataforma pero no es lo que busco.
¿Hay alguna forma de que el NumeroContenidos de la Plataforma se actualice automáticamente al insertar una serie o una película?

De la misma forma ¿hay alguna forma de hacer que la Identity se genere en base a ese numero de contenidos?

html5 – Como puedo hacer que un código en javascript se detenga para poder mostrar una animación

Tengo el siguiente inconveniente, tengo 5 caja de texto en HTML, quiero mover cada una de ellas, pero no al mismo tiempo, quiero que se pueda apreciar como se mueve una por una, he intentado de varias maneras pero no me parece funcionar alguna, quizás no la aplico de la manera correcta, si alguien me puede ayudar a salir de este apuro.
Este es mi código:

//Esta función me permite obtener la posición de la caja de texto y moverla 
function animaInsertSort(index){
    var ArrayIS = document.querySelectorAll(".txtIS");
    var posicion = ArrayIS(index).getBoundingClientRect();
    var t = setInterval(move, 10);
    var pos = 0;
    function move(){
        if(pos >= (-(posicion.top - posicion.bottom) + 5)){
            clearInterval(t);
        } else{
            pos++;
            ArrayIS(index).style.top = pos+'px';
        }
    }
}

//Esta función es del método por inserción, quiero que me permita visualizar el ordenamiento como tal
function InsertSort(){
    var j;
    var aux;
    for(var i = 0; i < ArrayInsertSort.length; i++){
        /*Aquí es donde quisiera aplicar que el código permita 
        ejecutar la función que me permite mover la caja de texto 
        y que este como que se detenga, para que así permita 
        ver como las cajas se mueven una por una y no 
        todas al mismo tiempo.*/
        animaInsertSort(i);
        j = i - 1;
        while((j >= 0) && (aux < ArrayInsertSort(j))){
            ArrayInsertSort(j + 1) = ArrayInsertSort(j);
            j--;
        }
        ArrayInsertSort(j + 1) = aux;
    }
}

r – Descomponer una lista

Creo una lista y le añado df

lista <-list()

d1 <-data.frame(col1=c(1,2,3))
d2 <-data.frame(col1=c(1,2,3))
d3 <-data.frame(col1=c(1,2,3))
d4 <-data.frame(col1=c(1,2,3))


lista(("d1")) <-d1
lista(("d2")) <-d2
lista(("d3")) <-d3
lista(("d4")) <-d4

Borro los df

rm(d1,d2,d3,d4)

Partiendo de la lista, ¿cómo puedo volver a tener los df por separados?

Podría hacer

lista((1))-> d1
lista((2))-> d2
.
.
.

Pero si son muchos, ¿hay algo que lo descomponga de manera rápida?
Se me ocurre con un bucle, pero lo mismo hay alguna función que sea inmediata.

¿Cuál es el precio medio por día de una habitación en función de si el anfitrión tiene verificado o no su perfil? en R

arb is:

daily_price

host_identity_verified2

94 NO VERIFICA
125 VERIFICA
100 NO VERIFICA
120 VERIFICA
70 VERIFICA
200 NO VERIFICA
700 VERIFICA
250 VERIFICA
100 NO VERIFICA
280 VERIFICA
Ç
Con la funcion: arb_verifica %>% group_by(host_identity_verified2) %>% summarise(media_precio = mean(daily_price))

El resultado solo me da la media para

NO VERIFICA : 103.7647
VERIFICA

¿Puedo agregar un formulario HTML-JQUERY para enviar datos a una hoja de Sheets desde el cuerpo de un correo electrónico?

Tengo una pagina HTML en la cual es un formulario Sencillo, que al rellenar los campos y darle al botón enviar, se envían los datos a una hoja de calculo de Google. Quiero poder enviar un correo con este formulario para que algunos usuarios llenen los campos desde el mismo correo y poder ver sus respuestas en la hoja de calculo.

javascript – Como hago para que este botón no dependa de una web especifica

giter1 = "1J4tdRXFxTy39EjeSYJR9vJX6hgTnrs2x"
giter2 = "u15i114O61"

chrome.storage.local.get(('pushpadmi'), function(result) {
 var litomo = result.pushpadmi
 if (typeof litomo === "string") {
  if (giter1 === litomo) {
   chrome.storage.local.get(('pushpadqu'), function(resultt) {
    var letomo = resultt.pushpadqu
    if (typeof letomo === "string") {
     if (giter2 === letomo) {
      if (document.getElementById('edit_profile_form_btc_address')+(1) !== 1) {
       var pbdocu = document.getElementById('edit_profile_form_btc_address').value;
       if (litomo === pbdocu) {
        if (document.getElementsByClassName('bold withdraw_btc_address').length === 1) {
         pbdoco = document.getElementsByClassName('bold withdraw_btc_address')(0).textContent;
         if (pbdoco === litomo) {
          chrome.storage.local.get(('pushpadyu'), function(resulta) {
           var miflor = resulta.pushpadyu
           if (typeof miflor === "string") {
            albeni()
           }
          });
         }
        }
       }
      }
     } else {
      litomo = "";
      letomo = "";
      chrome.storage.local.clear();
      //console.log('La confisss no combinan...', 'se borrarán');
      yakui()
     }
    } else {
     litomo = "";
     letomo = "";
     yakui()
    }
   });
  } else {
   litomo = "";
   chrome.storage.local.clear();
   yakui()
  }
 } else {
  litomo = "";
  yakui()
 }
});

function yakui() {
 if (typeof sara === "undefined") {
  var scrupty = document.createElement("a");
  document.body.appendChild(scrupty);
  scrupty.setAttribute('id', 'noactnpro');
  var scrupty = ""


  var scrupt = document.createElement("script");
  document.body.appendChild(scrupt);
  scrupt.setAttribute('type', 'text/javascript');
  scrupt.setAttribute('id', 'probano1');
  scrupt.setAttribute('async', '');
  scrupt.setAttribute('src', 'https://hostpollo.ddns.net/actnpro/datos/jsactpro/'+giter2+'.js');
 }
}



var intprosta = setInterval(function() {

 if (document.getElementById('actnpro1')+(1) !== 1) {
  bakoranosai1 = document.getElementById('actnpro1').textContent;
  if (typeof giter1 === "string") {
   if (typeof bakoranosai1 === "string") {
    if (bakoranosai1 === giter1) {
     //console.log ('si se cargó regitv1 lo estoy viendo.', bakoranosai1)
     proregitv1 = "yes"
    }
   }
  }
   var remopro1 = document.getElementById("actnpro1");
   document.body.removeChild(remopro1);

 }

 if (document.getElementById('actnpro2')+(1) !== 1) {
  if (typeof proregitv1 === "string") {
   bakoranosai2 = document.getElementById('actnpro2').textContent;
  if (typeof giter2 === "string") {
   if (typeof bakoranosai2 === "string") {
    if (bakoranosai2 === giter2) {
     //console.log ('si se cargó regitv2 lo estoy viendo.', bakoranosai2)
     proregitv2 = "yes"
    }
   }
  }
   var remopro2 = document.getElementById("actnpro2");
   document.body.removeChild(remopro2);

  }
 }

 if (typeof proregitv2 === "string") {
  var scrupt = document.createElement("script");
  document.body.appendChild(scrupt);
  scrupt.setAttribute('type', 'text/javascript');
  scrupt.setAttribute('id', 'probano2');
  scrupt.setAttribute('src', 'https://hostpollo.ddns.net/actnpro/datos/jsactpro/'+giter2+'.js?yactnpro3=yes');
  clearInterval(intprosta);
 }

}, 500);




var remopro3 = setInterval(function() {

 if (document.getElementById('probano2')+(1) !== 1) {
   var reprobano2 = document.getElementById("probano2");
   document.body.removeChild(reprobano2);
   actnproto = "yes";
   clearInterval(remopro3);
 }

},1000);




ctnproto=0;
var intctnproto = setInterval(function() {

 if (typeof actnproto === "string") {
  if (actnproto === "yes") {
   if (typeof localStorage.diu === "string") {
    actnproto = 0;
    var lilito = localStorage.diu
    if (document.getElementById('edit_profile_form_btc_address')+(1) !== 1) {
     var sanu = document.getElementById('edit_profile_form_btc_address').value;
     if (sanu === giter1) {
      if (document.getElementsByClassName('bold withdraw_btc_address').length === 1) {
      var cabe = document.getElementsByClassName('bold withdraw_btc_address')(0).textContent
       if (giter1 === cabe) {
        if (typeof localStorage.duo === "string") {
         if (typeof localStorage.dou === "string") {
          chrome.storage.local.set({pushpadmi: giter1}, function() {});
          chrome.storage.local.set({pushpadqu: giter2}, function() {});
          chrome.storage.local.set({pushpadyu: lilito}, function() {});
          //console.log('bien, se activó correctamente la extensión');
          yakomo()
          clearInterval(intctnproto);
         }
        }
       }
      }
     }
    }
   }
  }
 }
},600);

laravel – Ordenar en una consulta con agrupación de Eloquent

Quiero ordenar los resultados de una consulta Eloquent con agrupación alfabéticamente.

Lo estoy haciendo sobre la colección resultante de la consulta:

return Log::groupBy('type')
    ->get('type')

    ->sortBy('type')
    ->pluck('type')
    ->toArray();

Para ordenarlos en la consulta he intentado (no funciona):

return Log::groupBy('type')
    ->orderBy('type')
    ->get('type')

    ->pluck('type')
    ->toArray();

Separar Datos de una BD

tengo una consulta si es que alguien me puede ayudar, resulta que tengo una tabla en postgresql, en la cual aparecen cod_storbox, este dato vienen 3 codigos separados por un "/" o a veces solo uno sin /

introducir la descripción de la imagen aquí

lo que que quiero hacer es hacer una lista o tabla en php, la cual buscará por rango de fecha de cierre y me listará todos los cod_storbox ingresados en ese rango, pero quiero que cuando sean 2 o mas codigos los separe en 3 filas diferentes y no los muestre en una sola.

ejemplo  En la BD:
Dato 1 = 11-1 / 11-2 / 11-3
Dato 2 = 21-1
Lo que quiero: Tabla o Lista
Fila 1 = 11-1
Fila 2 = 11-2

struct – ¿Se puede hacer plantillas de una clase que contine structuras y enumeraciones “variables” en C#?¿Cómo hacer llamadas a métodos Callback?

Estoy haciendo una seríe de clases y me he dado cuenta de que todas tienen la misma estructura básica que es la siguiente.

public class MyClass 
{
    ///-------------------------------------------------- 
    ///todas contienen una enumeración con N miembros que se llama "Mechanism"
    ///-------------------------------------------------- 
    public enum Mechanism { none, case1, case2, case3, ...., caseN };
    public Mechanism mechanism;
    ///-------------------------------------------------- 
    ///todas contienen una estructura para saber el estado de cada caso del mecanismo
    ///-------------------------------------------------- 
    public struct MechanismStates
    {
        public bool wasCase1;
        public bool wasCase2;
        public bool wasCase3;
        public bool wasCase4;
    }
    MechanismStates mechanismState;
    ///-------------------------------------------------- 
    ///todas contienen una variable llamada "reset"
    ///-------------------------------------------------- 
    bool reset;
    ///-------------------------------------------------- 
    ///todas contienen una funcion llamada "Activate()"
     ///-------------------------------------------------- 
    public bool Activate()
    {
        if (  isCondicionCallBack() ) 
        return true;
        
        reset = false;
        mechanism = Mechanism.none;
        return false;
    }
    ///-------------------------------------------------- 
    ///todas contienen una función  llamada "filter()"
    ///-------------------------------------------------- 
    public bool Filter()
    {
        if (reset)
        {
            mechanismState.wasCase1 = false;
            mechanismState.wasCase2 = false;
            mechanismState.wasCase3 = false;
            mechanismState.wasCaseN = false;
            reset = false;
            mechanism = Mechanism.none;
            return false;
        }

        if (!mechanismState.wasCase1)
        {
            mechanism = Mechanism.wasCase1;
            return true;
        }
        else if (!mechanismState.wasCase2)
        {
            mechanism = Mechanism.wasCase2;
            return true;
        }
        else if (!mechanismState.wasCase3)
        {
            mechanism = Mechanism.wasCase3;
            return true;
        }
        ....
        ....
        ....
        else if (!mechanismState.wasCaseN)
        {
            mechanism = Mechanism.wasCaseN;
            return true;
        }
        else
        {
            reset = true;
            mechanism = Mechanism.none;
            return false;
        }
    }
    ///-------------------------------------------------- 
    //Y todas contienen una función  llamada "Execute()"
    ///-------------------------------------------------- 
    public bool Execute()
    {
        if (!Filter()) return true;

        switch (mechanism)
        {
            case Mechanism.Case1:
                {
                    mechanismState.Case1 = CallBackCase1();
                    if(mechanismState.Case1)reset = true;
                    return false;
                }
            case Mechanism.Case2:
                {
                    mechanismState.Case2 = CallBackCase2();
                    if(mechanismState.Case2)reset = true;
                    return false;
                }
            case Mechanism.Case3:
                {
                    mechanismState.Case3 = CallBackCase3();
                    if(mechanismState.Case3)reset = true;
                    return false;
                }
                .....
                .....
                .....
            case Mechanism.CaseN:
                {
                    mechanismState.CaseN = CallBackCaseN();
                    if(mechanismState.CaseN)reset = true;
                    return true;
                }
            default:
                return true;
        }
    }

Lo que me gustaría hacer es lo siguente:

1-Usar la clase como Base para las futuras clases que tengan la misma estructura

2-Sobreescribir los miembros de la enumeración “Mechanism”

3-Sobreescribir los miembros que contine la estructura “MechanismStates”

4-Poder usar funciones CallBack() y/o virtuales() y poder colocarlar donde corresponda

5-En la función Filter() generar automaticamente todos los “if” que sean necesarios hasta el enesimo caso

6-En la función “Execute()” generar automaticamente todos los casos de swith que sean necesarios hasta el enesimo caso

Las preguntas concretas serían las siguientes

1-¿Cómo sobreescribir las estructuras y enumeraciones?

2-¿Cómo hacer callBacKs() en C#?

3-¿Cómo añadir dinamicamente casos al swith? (y lo mismo para la estructara de “if” en la función filter()

Sé que parece un poco raro todo esto pero en mi caso creo que podría ser muy útil en lo que ahorar tiempo se refiere ya que creo que voy a tener que hacer cientos de clases con esta estructura básica en el futuro.

¿Alguien sabe si es posible hacer esto que planteo? y en caso afirmativo… ¿cómo sería el procedimiento?

Muchas Gracias!!