que tienen una lista de fechas y valores en el formato:¿Cómo restar elementos específicos en una lista usando programación funcional en Mathematica?
{{{dateInfo1},value1},{{dateInfo2},value2},...,{{dateInfoN},valueN}}
Con algunas fechas y los valores reales:
{{{1971, 1, 31, 0, 0, 0.}, 1.0118}, {{1971, 2, 28, 0, 0, 0}, 1.0075},
..., {{2010, 5, 31, 0, 0, 0.}, 1.0403}}
Para los curiosos, que es una lista de los Estados Unidos frente a los valores de CAD $ tirado desde el FRED database.
me gustaría simplemente restar valor1 de valor 2, y a continuación, crear una nueva lista con los datos en la forma de:
{{{dateInfo1},0},{{dateInfo2},change1},...,{{dateInfoN},changeN-1}}
(con change1 ser valor2-valor1)
Sé que debe haber una manera relativamente fácil de hacer esto usando programación funcional, en oposición a Do o While con variables de índice y conteo y todas esas tonterías. El método que estoy tratando de lograr tiene que ser relativamente robusto, porque automáticamente estoy recogiendo datasets de fuentes que tienen el mismo formato, pero diferentes intervalos de tiempo. Volver a trazar es mucho más fácil si no tengo que especificar los intervalos de fecha de ListPlot (lo que sucedería si eliminase dateInfo de la lista).
Estoy familiarizado con el Centro de documentación y las capacidades de Mathematica sin programación. He estado aprendiendo programación con Mathematica, y realmente quiero extender esa habilidad a la programación funcional, pero he encontrado que la mayoría de los recursos sobre el tema son demasiado difíciles. Siento que estoy en esa curva en la curva de aprendizaje donde está a punto de encajar en su lugar, pero ahora estoy luchando. ¡Por lo menos, si tienes una buena fuente de programación funcional, estaría más que feliz de investigar sobre eso! ¡Cualquier ayuda es muy apreciada! Lo siento si es TMI, pero estoy seguro de que muchos de ustedes han sentido lo mismo.
Usted puede haber notado que todo el Solu proporcionado Las opciones son un poco más difíciles cuando tratas de mantener ese 0, que es AFAICT matemáticamente sin sentido. Creo que el universo está tratando de decirte algo allí ... – Pillsy
Entiendo que el 0 inicial no tiene mucho sentido matemáticamente, pero en términos de presentación, tiene más sentido. Por ejemplo, si usa 1971 como el año base en el análisis, entonces el cambio de enero a febrero debería ser de febrero a febrero. A continuación, hace la presentación más lógica si ese valor se muestra como el cambio en febrero, especialmente porque voy a trazar los datos. – Alec