diff --git a/.gitignore b/.gitignore index 7e7a178..d92c4de 100644 --- a/.gitignore +++ b/.gitignore @@ -167,3 +167,4 @@ nbs/saves/ # Data *.zip +corebridge/saves/ diff --git a/corebridge/core.py b/corebridge/core.py index af8e621..fbfa4a1 100644 --- a/corebridge/core.py +++ b/corebridge/core.py @@ -61,7 +61,8 @@ def set_time_index_zone(df:pd.DataFrame, timezone): timezone (str): The desired time zone. Returns: - pd.DataFrame: The DataFrame with its index time zone set to the specified time zone. + pd.DataFrame: The modified DataFrame with its index time zone set + to the specified time zone. Raises: None @@ -104,10 +105,12 @@ def timeseries_dataframe( """ if isinstance(data, pd.DataFrame): - df = data + df = data.copy() + df.index = pd.DatetimeIndex(df.index).round('ms') elif isinstance(data, pd.Series): df = pd.DataFrame(data) + df.index = pd.DatetimeIndex(df.index).round('ms') elif isinstance(data, dict): # assume a dict/mapping of individual arrays representing timeseries @@ -194,7 +197,7 @@ def timeseries_dataframe_from_datadict( return df -# %% ../nbs/00_core.ipynb 20 +# %% ../nbs/00_core.ipynb 23 def pop_nan_values(data): """ Recursively pop keys with nan values from dict or lists with dicts. @@ -213,7 +216,7 @@ def pop_nan_values(data): else: return data -# %% ../nbs/00_core.ipynb 21 +# %% ../nbs/00_core.ipynb 35 def timeseries_dataframe_to_datadict( data:typing.Union[pd.DataFrame, pd.Series, dict], recordformat:str='records', @@ -237,8 +240,13 @@ def timeseries_dataframe_to_datadict( normalized_data = timeseries_dataframe(data, timezone=timezone) if isinstance(normalized_data.index, pd.DatetimeIndex): - normalized_data.index = normalized_data.index.map(lambda x: x.isoformat()) - + if timezone == 'UTC': + print(f"Normalized, UTC") + normalized_data.index = normalized_data.index.strftime("%FT%R:%SZ") + else: + print(f"Normalized, {timezone}") + normalized_data.index = normalized_data.index.map(lambda x: x.isoformat(timespec='milliseconds')) + if orient == 'records': records = normalized_data.reset_index().to_dict(orient='records') else: @@ -250,7 +258,7 @@ def timeseries_dataframe_to_datadict( return records -# %% ../nbs/00_core.ipynb 28 +# %% ../nbs/00_core.ipynb 51 #def interpolate_timeseries(sampler, period, method_args): @@ -295,12 +303,12 @@ def timeseries_dataframe_resample(df:pd.DataFrame, period:str, method:str): -# %% ../nbs/00_core.ipynb 32 +# %% ../nbs/00_core.ipynb 55 class AICoreModuleBase: pass -# %% ../nbs/00_core.ipynb 33 +# %% ../nbs/00_core.ipynb 56 @patch def __init__(self:AICoreModuleBase, save_dir:str, # path where the module can keep files diff --git a/nbs/00_core.ipynb b/nbs/00_core.ipynb index 8dfbad1..3b95a28 100644 --- a/nbs/00_core.ipynb +++ b/nbs/00_core.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -21,7 +21,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -31,7 +31,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -46,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -98,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -130,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -145,7 +145,8 @@ " timezone (str): The desired time zone.\n", "\n", " Returns:\n", - " pd.DataFrame: The DataFrame with its index time zone set to the specified time zone.\n", + " pd.DataFrame: The modified DataFrame with its index time zone set \n", + " to the specified time zone.\n", "\n", " Raises:\n", " None\n", @@ -179,70 +180,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
A
time
2022-01-01 01:00:00+01:001
2022-01-02 01:00:00+01:002
2022-01-03 01:00:00+01:003
\n", - "
" - ], "text/plain": [ - " A\n", - "time \n", - "2022-01-01 01:00:00+01:00 1\n", - "2022-01-02 01:00:00+01:00 2\n", - "2022-01-03 01:00:00+01:00 3" + "DatetimeIndex(['2022-01-01 01:00:00+01:00', '2022-01-02 01:00:00+01:00',\n", + " '2022-01-03 01:00:00+01:00'],\n", + " dtype='datetime64[ns, Europe/Berlin]', name='time', freq=None)" ] }, - "execution_count": null, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({'A': [1, 2, 3]}, index=pd.DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03']))\n", - "set_time_index_zone(df, 'Europe/Berlin')" + "set_time_index_zone(df, 'Europe/Berlin')\n", + "df.index" ] }, { @@ -258,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -281,10 +238,12 @@ " \"\"\"\n", "\n", " if isinstance(data, pd.DataFrame):\n", - " df = data\n", + " df = data.copy()\n", + " df.index = pd.DatetimeIndex(df.index).round('ms')\n", "\n", " elif isinstance(data, pd.Series):\n", " df = pd.DataFrame(data)\n", + " df.index = pd.DatetimeIndex(df.index).round('ms')\n", "\n", " elif isinstance(data, dict):\n", " # assume a dict/mapping of individual arrays representing timeseries \n", @@ -337,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -394,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -450,13 +409,13 @@ "2023-05-04 10:44:53+00:00 16.55" ] }, - "execution_count": null, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "timeseries_dataframe_from_datadict([\n", + "df = timeseries_dataframe_from_datadict([\n", " {\n", " \"time\":\"2023-05-04T10:04:49.000Z\",\n", " \"value\":16.72\n", @@ -469,12 +428,35 @@ " \"time\":\"2023-05-04T10:44:53.000Z\",\n", " \"value\":16.55\n", " }\n", - " ], timecolumns=['time'])" + " ], timecolumns=['time'])\n", + "df" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2023-05-04 10:04:49+00:00', '2023-05-04 10:24:51+00:00',\n", + " '2023-05-04 10:44:53+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='time', freq=None)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index" + ] + }, + { + "cell_type": "code", + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -530,13 +512,13 @@ "2023-05-04 12:44:53+02:00 16.55" ] }, - "execution_count": null, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "set_time_index_zone( timeseries_dataframe_from_datadict([\n", + "df = set_time_index_zone( timeseries_dataframe_from_datadict([\n", " {\n", " \"time\":\"2023-05-04T10:04:49\",\n", " \"value\":16.72\n", @@ -549,12 +531,42 @@ " \"time\":\"2023-05-04T10:44:53\",\n", " \"value\":16.55\n", " }\n", - " ], timecolumns=['time']), timezone='Europe/Amsterdam')" + " ], timecolumns=['time']), timezone='Europe/Amsterdam')\n", + "df" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2023-05-04 12:04:49+02:00', '2023-05-04 12:24:51+02:00',\n", + " '2023-05-04 12:44:53+02:00'],\n", + " dtype='datetime64[ns, Europe/Amsterdam]', name='time', freq=None)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Handling NaN values in the output" + ] + }, + { + "cell_type": "code", + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -579,190 +591,922 @@ " return data" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Timezones" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2018-04-10 09:01:01.123000+02:00',\n", + " '2018-04-10 09:01:02.123000+02:00',\n", + " '2018-04-10 09:01:03.123000+02:00'],\n", + " dtype='datetime64[ns, Europe/Amsterdam]', freq='s')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#| export\n", - "def timeseries_dataframe_to_datadict(\n", - " data:typing.Union[pd.DataFrame, pd.Series, dict], \n", - " recordformat:str='records', \n", - " timezone:str='UTC',\n", - " popNaN:bool=False):\n", - "\n", - " \"\"\"\n", - " Convert a timeseries DataFrame or Series into a dictionary representation.\n", - "\n", - " Args:\n", - " data (Union[pd.DataFrame, pd.Series, dict]): The input data to be converted. It can be a pandas DataFrame, Series, or a dictionary.\n", - " recordformat (str, optional): The format of the output records. Defaults to 'records'.\n", - " timezone (str, optional): The timezone to use for the DataFrame index. Defaults to 'UTC'.\n", - " popNaN (bool, optional): Whether to remove NaN values from the output dictionary. Defaults to False.\n", - "\n", - " Returns:\n", - " Union[dict, list]: The converted dictionary representation of the input data. If `popNaN` is True, it returns a dictionary with NaN values removed. Otherwise, it returns a dictionary or a list of dictionaries depending on the `recordformat` parameter.\n", - " \"\"\"\n", - " \n", - " orient = recordformat.lower()\n", - "\n", - " normalized_data = timeseries_dataframe(data, timezone=timezone)\n", - " if isinstance(normalized_data.index, pd.DatetimeIndex):\n", - " normalized_data.index = normalized_data.index.map(lambda x: x.isoformat())\n", - " \n", - " if orient == 'records':\n", - " records = normalized_data.reset_index().to_dict(orient='records')\n", - " else:\n", - " records = normalized_data.to_dict(orient=orient)\n", - "\n", - " if popNaN and normalized_data.isna().any(axis=None):\n", - " return pop_nan_values(records)\n", - " \n", - " return records \n" + "rng = pd.date_range(pd.Timestamp(\"2018-04-10T09:01:01.123+02:00\"), periods=3, freq='s').tz_convert('Europe/Amsterdam')\n", + "rng" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['2018-04-10T09:01:01+0200', '2018-04-10T09:01:02+0200',\n", + " '2018-04-10T09:01:03+0200'],\n", + " dtype='object')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df = timeseries_dataframe_from_datadict([\n", - " {\n", - " \"time\":\"2023-05-04T10:04:49.000Z\",\n", - " \"value\":16.72\n", - " },\n", - " {\n", - " \"time\":\"2023-05-04T10:24:51.000Z\",\n", - " \"value\":16.65\n", - " },\n", - " {\n", - " \"time\":\"2023-05-04T10:44:53.000Z\",\n", - " \"value\":16.55\n", - " },\n", - " {\n", - " \"time\":\"2023-05-04T10:44:53.000Z\",\n", - " \"value\":np.nan\n", - " }\n", - " ], timecolumns=['time'])\n", - "\n" + "\n", + "rng.strftime(\"%FT%R:%S%z\")\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[{'time': '2023-05-04T10:04:49+00:00', 'value': 16.72},\n", - " {'time': '2023-05-04T10:24:51+00:00', 'value': 16.65},\n", - " {'time': '2023-05-04T10:44:53+00:00', 'value': 16.55},\n", - " {'time': '2023-05-04T10:44:53+00:00'}]" + "DatetimeIndex(['2018-04-10 09:01:01+02:00', '2018-04-10 09:01:02+02:00',\n", + " '2018-04-10 09:01:03+02:00'],\n", + " dtype='datetime64[ns, UTC+02:00]', freq=None)" ] }, - "execution_count": null, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "timeseries_dataframe_to_datadict(df, recordformat='records', popNaN=True)" + "pd.DatetimeIndex(rng.strftime(\"%FT%R:%S%z\")).round('ms')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'index': ['2023-05-04T10:04:49+00:00',\n", - " '2023-05-04T10:24:51+00:00',\n", - " '2023-05-04T10:44:53+00:00',\n", - " '2023-05-04T10:44:53+00:00'],\n", - " 'columns': ['value'],\n", - " 'data': [[16.72], [16.65], [16.55]],\n", - " 'index_names': ['time']}" + "Index(['2018-04-10T07:01:01Z', '2018-04-10T07:01:02Z', '2018-04-10T07:01:03Z'], dtype='object')" ] }, - "execution_count": null, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "timeseries_dataframe_to_datadict(df, recordformat='tight', popNaN=True)" + "\n", + "rng.tz_convert('UTC').strftime(\"%FT%R:%SZ\")\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ - "test_data = {'index': ['2023-05-04T10:04:49+00:00',\n", - " '2023-05-04T10:24:51+00:00',\n", - " '2023-05-04T10:44:53+00:00',\n", - " '2023-05-04T10:44:53+00:00'],\n", - " 'columns': ['value'],\n", - " 'data': [[16.72], [16.65], [16.55], [np.nan]],\n", - " 'index_names': ['time'],\n", - " 'column_names': [None]}" + "# .map(lambda x: x.isoformat())" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "rng = pd.date_range(pd.Timestamp(\"2018-04-10T09:01:01.123+02:00\"), periods=30000, freq='s').tz_convert('Europe/Amsterdam')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Which is faster, `strftime()` or `isoformat()`?" + ] + }, + { + "cell_type": "code", + "execution_count": 21, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{'index': ['2023-05-04T10:04:49+00:00',\n", - " '2023-05-04T10:24:51+00:00',\n", - " '2023-05-04T10:44:53+00:00',\n", - " '2023-05-04T10:44:53+00:00'],\n", - " 'columns': ['value'],\n", - " 'data': [[16.72], [16.65], [16.55]],\n", - " 'index_names': ['time']}" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "113 ms ± 728 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] } ], "source": [ - "pop_nan_values(test_data)" + "%%timeit\n", + "ft = rng.strftime(\"%FT%R:%S%z\")\n" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 22, "metadata": {}, - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "75 ms ± 229 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], + "source": [ + "%%timeit\n", + "ft = rng.map(lambda x: x.isoformat(timespec='milliseconds'))\n" + ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], "source": [ "#| export\n", + "def timeseries_dataframe_to_datadict(\n", + " data:typing.Union[pd.DataFrame, pd.Series, dict], \n", + " recordformat:str='records', \n", + " timezone:str='UTC',\n", + " popNaN:bool=False):\n", "\n", - "#def interpolate_timeseries(sampler, period, method_args):\n", + " \"\"\"\n", + " Convert a timeseries DataFrame or Series into a dictionary representation.\n", "\n", + " Args:\n", + " data (Union[pd.DataFrame, pd.Series, dict]): The input data to be converted. It can be a pandas DataFrame, Series, or a dictionary.\n", + " recordformat (str, optional): The format of the output records. Defaults to 'records'.\n", + " timezone (str, optional): The timezone to use for the DataFrame index. Defaults to 'UTC'.\n", + " popNaN (bool, optional): Whether to remove NaN values from the output dictionary. Defaults to False.\n", "\n", - "ResamplerMethods = dict(\n", - " count=lambda R: R.count(),\n", - " median=lambda R: R.median(),\n", - " mean=lambda R: R.mean(),\n", - " min=lambda R: R.min(),\n", - " max=lambda R: R.max(),\n", - " sum=lambda R: R.sum(),\n", + " Returns:\n", + " Union[dict, list]: The converted dictionary representation of the input data. If `popNaN` is True, it returns a dictionary with NaN values removed. Otherwise, it returns a dictionary or a list of dictionaries depending on the `recordformat` parameter.\n", + " \"\"\"\n", + " \n", + " orient = recordformat.lower()\n", + "\n", + " normalized_data = timeseries_dataframe(data, timezone=timezone)\n", + " if isinstance(normalized_data.index, pd.DatetimeIndex):\n", + " if timezone == 'UTC':\n", + " print(f\"Normalized, UTC\")\n", + " normalized_data.index = normalized_data.index.strftime(\"%FT%R:%SZ\")\n", + " else:\n", + " print(f\"Normalized, {timezone}\")\n", + " normalized_data.index = normalized_data.index.map(lambda x: x.isoformat(timespec='milliseconds'))\n", + " \n", + " if orient == 'records':\n", + " records = normalized_data.reset_index().to_dict(orient='records')\n", + " else:\n", + " records = normalized_data.to_dict(orient=orient)\n", + "\n", + " if popNaN and normalized_data.isna().any(axis=None):\n", + " return pop_nan_values(records)\n", + " \n", + " return records \n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
time
2023-05-04 09:04:49.050000+00:0016.72
2023-05-04 10:24:51.010000+00:0016.65
2023-05-04 10:44:53+00:0016.55
2023-05-04 10:44:53+00:00NaN
\n", + "
" + ], + "text/plain": [ + " value\n", + "time \n", + "2023-05-04 09:04:49.050000+00:00 16.72\n", + "2023-05-04 10:24:51.010000+00:00 16.65\n", + "2023-05-04 10:44:53+00:00 16.55\n", + "2023-05-04 10:44:53+00:00 NaN" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = timeseries_dataframe_from_datadict([\n", + " {\n", + " \"time\":\"2023-05-04T10:04:49.050+01:00\",\n", + " \"value\":16.72\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:24:51.010Z\",\n", + " \"value\":16.65\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":16.55\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":np.nan\n", + " }\n", + " ], timecolumns=['time'])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2023-05-04 09:04:49.050000+00:00',\n", + " '2023-05-04 10:24:51.010000+00:00',\n", + " '2023-05-04 10:44:53+00:00',\n", + " '2023-05-04 10:44:53+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='time', freq=None)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
time
2023-05-04 09:04:49.050000+00:0016.72
2023-05-04 10:24:51.010000+00:0016.65
2023-05-04 10:44:53+00:0016.55
2023-05-04 10:44:53+00:00NaN
\n", + "
" + ], + "text/plain": [ + " value\n", + "time \n", + "2023-05-04 09:04:49.050000+00:00 16.72\n", + "2023-05-04 10:24:51.010000+00:00 16.65\n", + "2023-05-04 10:44:53+00:00 16.55\n", + "2023-05-04 10:44:53+00:00 NaN" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = timeseries_dataframe_from_datadict([\n", + " {\n", + " \"time\":\"2023-05-04T10:04:49.050+01:00\",\n", + " \"value\":16.72\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:24:51.010Z\",\n", + " \"value\":16.65\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":16.55\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":np.nan\n", + " }\n", + " ], timecolumns=['time'])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2023-05-04 09:04:49.050000+00:00',\n", + " '2023-05-04 10:24:51.010000+00:00',\n", + " '2023-05-04 10:44:53+00:00',\n", + " '2023-05-04 10:44:53+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='time', freq=None)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "timeseries_dataframe(df, timezone='UTC').index" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
time
2023-05-04 09:04:49.050000+00:0016.72
2023-05-04 10:24:51.010000+00:0016.65
2023-05-04 10:44:53+00:0016.55
2023-05-04 10:44:53+00:00NaN
\n", + "
" + ], + "text/plain": [ + " value\n", + "time \n", + "2023-05-04 09:04:49.050000+00:00 16.72\n", + "2023-05-04 10:24:51.010000+00:00 16.65\n", + "2023-05-04 10:44:53+00:00 16.55\n", + "2023-05-04 10:44:53+00:00 NaN" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = timeseries_dataframe_from_datadict([\n", + " {\n", + " \"time\":\"2023-05-04T10:04:49.050+01:00\",\n", + " \"value\":16.72\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:24:51.010Z\",\n", + " \"value\":16.65\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":16.55\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":np.nan\n", + " }\n", + " ], timecolumns=['time'])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Normalized, UTC\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'time': '2023-05-04T09:04:49Z', 'value': 16.72},\n", + " {'time': '2023-05-04T10:24:51Z', 'value': 16.65},\n", + " {'time': '2023-05-04T10:44:53Z', 'value': 16.55},\n", + " {'time': '2023-05-04T10:44:53Z'}]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "timeseries_dataframe_to_datadict(df, recordformat='records', popNaN=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
time
2023-05-04 09:04:49.050000+00:0016.72
2023-05-04 10:24:51.010000+00:0016.65
2023-05-04 10:44:53+00:0016.55
2023-05-04 10:44:53+00:00NaN
\n", + "
" + ], + "text/plain": [ + " value\n", + "time \n", + "2023-05-04 09:04:49.050000+00:00 16.72\n", + "2023-05-04 10:24:51.010000+00:00 16.65\n", + "2023-05-04 10:44:53+00:00 16.55\n", + "2023-05-04 10:44:53+00:00 NaN" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = timeseries_dataframe_from_datadict([\n", + " {\n", + " \"time\":\"2023-05-04T10:04:49.050+01:00\",\n", + " \"value\":16.72\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:24:51.010Z\",\n", + " \"value\":16.65\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":16.55\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":np.nan\n", + " }\n", + " ], timecolumns=['time'])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Normalized, Europe/Berlin\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'time': '2023-05-04T11:04:49.050+02:00', 'value': 16.72},\n", + " {'time': '2023-05-04T12:24:51.010+02:00', 'value': 16.65},\n", + " {'time': '2023-05-04T12:44:53.000+02:00', 'value': 16.55},\n", + " {'time': '2023-05-04T12:44:53.000+02:00'}]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "timeseries_dataframe_to_datadict(df, recordformat='records', popNaN=True, timezone='Europe/Berlin')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2023-05-04 09:04:49.050000+00:00',\n", + " '2023-05-04 10:24:51.010000+00:00',\n", + " '2023-05-04 10:44:53+00:00',\n", + " '2023-05-04 10:44:53+00:00'],\n", + " dtype='datetime64[ns, UTC]', name='time', freq=None)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
time
2023-05-04 09:04:49.050000+00:0016.72
2023-05-04 10:24:51.010000+00:0016.65
2023-05-04 10:44:53+00:0016.55
2023-05-04 10:44:53+00:00NaN
\n", + "
" + ], + "text/plain": [ + " value\n", + "time \n", + "2023-05-04 09:04:49.050000+00:00 16.72\n", + "2023-05-04 10:24:51.010000+00:00 16.65\n", + "2023-05-04 10:44:53+00:00 16.55\n", + "2023-05-04 10:44:53+00:00 NaN" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = timeseries_dataframe_from_datadict([\n", + " {\n", + " \"time\":\"2023-05-04T10:04:49.050+01:00\",\n", + " \"value\":16.72\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:24:51.010Z\",\n", + " \"value\":16.65\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":16.55\n", + " },\n", + " {\n", + " \"time\":\"2023-05-04T10:44:53.000Z\",\n", + " \"value\":np.nan\n", + " }\n", + " ], timecolumns=['time'])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Normalized, UTC\n" + ] + }, + { + "data": { + "text/plain": [ + "{'index': ['2023-05-04T09:04:49Z',\n", + " '2023-05-04T10:24:51Z',\n", + " '2023-05-04T10:44:53Z',\n", + " '2023-05-04T10:44:53Z'],\n", + " 'columns': ['value'],\n", + " 'data': [[16.72], [16.65], [16.55]],\n", + " 'index_names': ['time']}" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "timeseries_dataframe_to_datadict(df, recordformat='tight', popNaN=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "test_data = {'index': ['2023-05-04T10:04:49+00:00',\n", + " '2023-05-04T10:24:51+00:00',\n", + " '2023-05-04T10:44:53+00:00',\n", + " '2023-05-04T10:44:53+00:00'],\n", + " 'columns': ['value'],\n", + " 'data': [[16.72], [16.65], [16.55], [np.nan]],\n", + " 'index_names': ['time'],\n", + " 'column_names': [None]}" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'index': ['2023-05-04T10:04:49+00:00',\n", + " '2023-05-04T10:24:51+00:00',\n", + " '2023-05-04T10:44:53+00:00',\n", + " '2023-05-04T10:44:53+00:00'],\n", + " 'columns': ['value'],\n", + " 'data': [[16.72], [16.65], [16.55]],\n", + " 'index_names': ['time']}" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop_nan_values(test_data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "72.2 µs ± 79.6 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n" + ] + } + ], + "source": [ + "%%timeit\n", + "pop_nan_values(test_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "#| export\n", + "\n", + "#def interpolate_timeseries(sampler, period, method_args):\n", + "\n", + "\n", + "ResamplerMethods = dict(\n", + " count=lambda R: R.count(),\n", + " median=lambda R: R.median(),\n", + " mean=lambda R: R.mean(),\n", + " min=lambda R: R.min(),\n", + " max=lambda R: R.max(),\n", + " sum=lambda R: R.sum(),\n", " std=lambda R: R.std(),\n", " var=lambda R: R.var(),\n", " nearest=lambda R: R.nearest(),\n", @@ -799,7 +1543,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ @@ -834,7 +1578,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -935,7 +1679,7 @@ "2023-05-04 11:44:53+00:00 16.38 NaN NaN" ] }, - "execution_count": null, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -953,7 +1697,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -964,7 +1708,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -1015,7 +1759,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -1026,9 +1770,21 @@ ], "metadata": { "kernelspec": { - "display_name": "python3", + "display_name": ".devenv-corebridge", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.10" } }, "nbformat": 4, diff --git a/nbs/01_aicorebridge.ipynb b/nbs/01_aicorebridge.ipynb index 944eed4..ad860ca 100644 --- a/nbs/01_aicorebridge.ipynb +++ b/nbs/01_aicorebridge.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -21,7 +21,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -42,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -150,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -173,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -182,7 +182,7 @@ "{'anumber': array([1., 1., 2.])}" ] }, - "execution_count": null, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -204,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -241,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -261,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -285,7 +285,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -368,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -384,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -420,7 +420,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -452,7 +452,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -471,7 +471,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -503,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -564,7 +564,7 @@ "2023-05-04 10:44:53+00:00 2 16.55" ] }, - "execution_count": null, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -576,7 +576,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -585,7 +585,7 @@ "{'anumber': array([2., 2., 2.])}" ] }, - "execution_count": null, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -597,7 +597,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -614,7 +614,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -623,7 +623,7 @@ "array([2., 2., 2.])" ] }, - "execution_count": null, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -634,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -643,7 +643,7 @@ "array([2., 2., 2.])" ] }, - "execution_count": null, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -657,7 +657,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -666,7 +666,7 @@ "1.5" ] }, - "execution_count": null, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -680,7 +680,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -689,7 +689,7 @@ "float | numpy.ndarray" ] }, - "execution_count": null, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -700,7 +700,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -709,7 +709,7 @@ "array([2., 2., 2.])" ] }, - "execution_count": null, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -720,7 +720,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -729,7 +729,7 @@ "array([2., 2., 2.])" ] }, - "execution_count": null, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -747,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -764,7 +764,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -773,7 +773,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -791,7 +791,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -804,7 +804,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -819,7 +819,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -839,7 +839,7 @@ "]\n", "Result Message\n", " [\n", - " \"Startup time: 2024-09-13T09:29:58.965350+00:00\",\n", + " \"Startup time: 2025-01-20T12:39:14.709059+00:00\",\n", " \"Corebridge version: 0.3.4\",\n", " \"test_function((data: pandas.core.frame.DataFrame, anumber: float | numpy.ndarray = 0))\",\n", " \"init_args: (1, 2), init_kwargs: {'num_1': 3, 'num_2': 4, 'assets_dir': None, 'save_dir': '/home/fenke/repos/corebridge/nbs/cache'}\",\n", @@ -876,7 +876,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -885,7 +885,7 @@ "pandas.core.frame.DataFrame" ] }, - "execution_count": null, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -896,7 +896,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -914,7 +914,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -933,7 +933,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -942,7 +942,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -960,7 +960,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ @@ -979,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -999,7 +999,7 @@ "]\n", "Result Message\n", " [\n", - " \"Startup time: 2024-09-13T09:29:59.059278+00:00\",\n", + " \"Startup time: 2025-01-20T12:39:14.823696+00:00\",\n", " \"Corebridge version: 0.3.4\",\n", " \"test_function((data: pandas.core.frame.DataFrame, anumber: float | numpy.ndarray = 0))\",\n", " \"init_args: (1, 2), init_kwargs: {'num_1': 3, 'num_2': 4, 'assets_dir': None, 'save_dir': '/home/fenke/repos/corebridge/nbs/cache'}\",\n", @@ -1036,13 +1036,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'init_time': datetime.datetime(2024, 9, 13, 9, 29, 59, 59278, tzinfo=datetime.timezone.utc),\n", + "{'init_time': datetime.datetime(2025, 1, 20, 12, 39, 14, 823696, tzinfo=datetime.timezone.utc),\n", " 'aicorebridge_version': '0.3.4',\n", " 'processor': ,\n", " 'processor_signature': ,\n", @@ -1058,7 +1058,7 @@ " 'save_dir': '/home/fenke/repos/corebridge/nbs/cache'}}" ] }, - "execution_count": null, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1083,7 +1083,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -1097,6 +1097,18 @@ "display_name": "corebridge.venv", "language": "python", "name": "corebridge.venv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.10" } }, "nbformat": 4, diff --git a/nbs/sidebar.yml b/nbs/sidebar.yml index 4a11587..031408d 100644 --- a/nbs/sidebar.yml +++ b/nbs/sidebar.yml @@ -5,975 +5,3 @@ website: - 00_core.ipynb - 01_aicorebridge.ipynb - 02_rscriptbridge.ipynb - - section: saves - contents: - - section: rscript - contents: - - section: libs - contents: - - section: Deriv - contents: - - section: html - contents: - - saves/rscript/libs/Deriv/html/00Index.html - - section: Formula - contents: - - section: doc - contents: [] - href: saves/rscript/libs/Formula/doc/index.html - - section: html - contents: - - saves/rscript/libs/Formula/html/00Index.html - - section: R6 - contents: - - section: html - contents: - - saves/rscript/libs/R6/html/00Index.html - - section: RColorBrewer - contents: - - section: html - contents: - - saves/rscript/libs/RColorBrewer/html/00Index.html - - section: Rcpp - contents: - - section: doc - contents: [] - href: saves/rscript/libs/Rcpp/doc/index.html - - section: html - contents: - - saves/rscript/libs/Rcpp/html/00Index.html - - section: RcppEigen - contents: - - section: doc - contents: [] - href: saves/rscript/libs/RcppEigen/doc/index.html - - section: html - contents: - - saves/rscript/libs/RcppEigen/html/00Index.html - - section: SparseM - contents: - - section: doc - contents: [] - href: saves/rscript/libs/SparseM/doc/index.html - - section: html - contents: - - saves/rscript/libs/SparseM/html/00Index.html - - section: TTR - contents: - - section: html - contents: - - saves/rscript/libs/TTR/html/00Index.html - - section: abind - contents: - - section: html - contents: - - saves/rscript/libs/abind/html/00Index.html - - section: askpass - contents: - - section: html - contents: - - saves/rscript/libs/askpass/html/00Index.html - - section: backports - contents: - - section: html - contents: - - saves/rscript/libs/backports/html/00Index.html - - section: base64enc - contents: - - section: html - contents: - - saves/rscript/libs/base64enc/html/00Index.html - - section: bigD - contents: - - section: html - contents: - - saves/rscript/libs/bigD/html/00Index.html - - section: bitops - contents: - - section: html - contents: - - saves/rscript/libs/bitops/html/00Index.html - - section: brio - contents: - - section: html - contents: - - saves/rscript/libs/brio/html/00Index.html - - section: broom - contents: - - section: doc - contents: - - saves/rscript/libs/broom/doc/adding-tidiers.html - - saves/rscript/libs/broom/doc/available-methods.html - - saves/rscript/libs/broom/doc/bootstrapping.html - - saves/rscript/libs/broom/doc/broom.html - - saves/rscript/libs/broom/doc/broom_and_dplyr.html - - saves/rscript/libs/broom/doc/kmeans.html - href: saves/rscript/libs/broom/doc/index.html - - section: html - contents: - - saves/rscript/libs/broom/html/00Index.html - - section: bslib - contents: - - section: html - contents: - - saves/rscript/libs/bslib/html/00Index.html - - section: cachem - contents: - - section: html - contents: - - saves/rscript/libs/cachem/html/00Index.html - - section: carData - contents: - - section: html - contents: - - saves/rscript/libs/carData/html/00Index.html - - section: chron - contents: - - section: html - contents: - - saves/rscript/libs/chron/html/00Index.html - - section: cli - contents: - - section: html - contents: - - saves/rscript/libs/cli/html/00Index.html - - section: clipr - contents: - - section: doc - contents: - - saves/rscript/libs/clipr/doc/developing-with-clipr.html - href: saves/rscript/libs/clipr/doc/index.html - - section: html - contents: - - saves/rscript/libs/clipr/html/00Index.html - - section: coda - contents: - - section: html - contents: - - saves/rscript/libs/coda/html/00Index.html - - section: colorspace - contents: - - section: cvdemulator - contents: - - section: html - contents: - - saves/rscript/libs/colorspace/cvdemulator/html/appInfo.html - - saves/rscript/libs/colorspace/cvdemulator/html/info.html - - section: doc - contents: - - saves/rscript/libs/colorspace/doc/colorspace.html - href: saves/rscript/libs/colorspace/doc/index.html - - section: hclcolorpicker - contents: - - section: html - contents: - - saves/rscript/libs/colorspace/hclcolorpicker/html/info.html - - section: hclwizard - contents: - - section: html - contents: - - saves/rscript/libs/colorspace/hclwizard/html/GrADS.html - - saves/rscript/libs/colorspace/hclwizard/html/R.html - - saves/rscript/libs/colorspace/hclwizard/html/RReg.html - - saves/rscript/libs/colorspace/hclwizard/html/Register.html - - saves/rscript/libs/colorspace/hclwizard/html/RegisterRcode.html - - saves/rscript/libs/colorspace/hclwizard/html/colorplane.html - - saves/rscript/libs/colorspace/hclwizard/html/info.html - - saves/rscript/libs/colorspace/hclwizard/html/matlab.html - - saves/rscript/libs/colorspace/hclwizard/html/python.html - - section: html - contents: - - saves/rscript/libs/colorspace/html/00Index.html - - section: commonmark - contents: - - section: html - contents: - - saves/rscript/libs/commonmark/html/00Index.html - - section: covr - contents: - - section: doc - contents: - - saves/rscript/libs/covr/doc/how_it_works.html - href: saves/rscript/libs/covr/doc/index.html - - section: html - contents: - - saves/rscript/libs/covr/html/00Index.html - - section: cowplot - contents: - - section: doc - contents: - - saves/rscript/libs/cowplot/doc/introduction.html - href: saves/rscript/libs/cowplot/doc/index.html - - section: html - contents: - - saves/rscript/libs/cowplot/html/00Index.html - - section: cpp11 - contents: - - section: doc - contents: - - saves/rscript/libs/cpp11/doc/FAQ.html - - saves/rscript/libs/cpp11/doc/converting.html - - saves/rscript/libs/cpp11/doc/cpp11.html - - saves/rscript/libs/cpp11/doc/internals.html - - saves/rscript/libs/cpp11/doc/motivations.html - href: saves/rscript/libs/cpp11/doc/index.html - - section: html - contents: - - saves/rscript/libs/cpp11/html/00Index.html - - section: crayon - contents: - - section: html - contents: - - saves/rscript/libs/crayon/html/00Index.html - - section: credentials - contents: - - section: doc - contents: - - saves/rscript/libs/credentials/doc/intro.html - href: saves/rscript/libs/credentials/doc/index.html - - section: html - contents: - - saves/rscript/libs/credentials/html/00Index.html - - section: curl - contents: - - section: doc - contents: - - saves/rscript/libs/curl/doc/intro.html - - saves/rscript/libs/curl/doc/windows.html - href: saves/rscript/libs/curl/doc/index.html - - section: html - contents: - - saves/rscript/libs/curl/html/00Index.html - - section: desc - contents: - - section: html - contents: - - saves/rscript/libs/desc/html/00Index.html - - section: diffobj - contents: - - section: doc - contents: - - saves/rscript/libs/diffobj/doc/diffobj.html - - saves/rscript/libs/diffobj/doc/embed.html - href: saves/rscript/libs/diffobj/doc/index.html - - section: html - contents: - - saves/rscript/libs/diffobj/html/00Index.html - - section: digest - contents: - - section: doc - contents: - - saves/rscript/libs/digest/doc/sha1.html - href: saves/rscript/libs/digest/doc/index.html - - section: html - contents: - - saves/rscript/libs/digest/html/00Index.html - - section: doBy - contents: - - section: doc - contents: - - saves/rscript/libs/doBy/doc/doby.html - - saves/rscript/libs/doBy/doc/model_stability.html - - saves/rscript/libs/doBy/doc/section_fun.html - href: saves/rscript/libs/doBy/doc/index.html - - section: html - contents: - - saves/rscript/libs/doBy/html/00Index.html - - section: dplyr - contents: - - section: doc - contents: - - saves/rscript/libs/dplyr/doc/base.html - - saves/rscript/libs/dplyr/doc/colwise.html - - saves/rscript/libs/dplyr/doc/dplyr.html - - saves/rscript/libs/dplyr/doc/grouping.html - - saves/rscript/libs/dplyr/doc/in-packages.html - - saves/rscript/libs/dplyr/doc/programming.html - - saves/rscript/libs/dplyr/doc/rowwise.html - - saves/rscript/libs/dplyr/doc/two-table.html - - saves/rscript/libs/dplyr/doc/window-functions.html - href: saves/rscript/libs/dplyr/doc/index.html - - section: html - contents: - - saves/rscript/libs/dplyr/html/00Index.html - - section: evaluate - contents: - - section: html - contents: - - saves/rscript/libs/evaluate/html/00Index.html - - section: fansi - contents: - - section: doc - contents: - - saves/rscript/libs/fansi/doc/sgr-in-rmd.html - href: saves/rscript/libs/fansi/doc/index.html - - section: html - contents: - - saves/rscript/libs/fansi/html/00Index.html - - section: farver - contents: - - section: html - contents: - - saves/rscript/libs/farver/html/00Index.html - - section: fastmap - contents: - - section: html - contents: - - saves/rscript/libs/fastmap/html/00Index.html - - section: fontawesome - contents: - - section: html - contents: - - saves/rscript/libs/fontawesome/html/00Index.html - - section: fs - contents: - - section: doc - contents: - - saves/rscript/libs/fs/doc/function-comparisons.html - href: saves/rscript/libs/fs/doc/index.html - - section: html - contents: - - saves/rscript/libs/fs/html/00Index.html - - section: generics - contents: - - section: html - contents: - - saves/rscript/libs/generics/html/00Index.html - - section: gert - contents: - - section: doc - contents: - - saves/rscript/libs/gert/doc/gert.html - href: saves/rscript/libs/gert/doc/index.html - - section: html - contents: - - saves/rscript/libs/gert/html/00Index.html - - section: ggplot2 - contents: - - section: doc - contents: - - saves/rscript/libs/ggplot2/doc/extending-ggplot2.html - - saves/rscript/libs/ggplot2/doc/ggplot2-in-packages.html - - saves/rscript/libs/ggplot2/doc/ggplot2-specs.html - - saves/rscript/libs/ggplot2/doc/ggplot2.html - href: saves/rscript/libs/ggplot2/doc/index.html - - section: html - contents: - - saves/rscript/libs/ggplot2/html/00Index.html - - section: gh - contents: - - section: doc - contents: - - saves/rscript/libs/gh/doc/managing-personal-access-tokens.html - href: saves/rscript/libs/gh/doc/index.html - - section: html - contents: - - saves/rscript/libs/gh/html/00Index.html - - section: gitcreds - contents: - - section: doc - contents: - - saves/rscript/libs/gitcreds/doc/helper-survey.html - - saves/rscript/libs/gitcreds/doc/package.html - href: saves/rscript/libs/gitcreds/doc/index.html - - section: html - contents: - - saves/rscript/libs/gitcreds/html/00Index.html - - section: glue - contents: - - section: doc - contents: - - saves/rscript/libs/glue/doc/engines.html - - saves/rscript/libs/glue/doc/transformers.html - href: saves/rscript/libs/glue/doc/index.html - - section: html - contents: - - saves/rscript/libs/glue/html/00Index.html - - section: gtable - contents: - - section: doc - contents: - - saves/rscript/libs/gtable/doc/profiling.html - href: saves/rscript/libs/gtable/doc/index.html - - section: html - contents: - - saves/rscript/libs/gtable/html/00Index.html - - section: highr - contents: - - section: doc - contents: - - saves/rscript/libs/highr/doc/highr-custom.html - - saves/rscript/libs/highr/doc/highr-internals.html - href: saves/rscript/libs/highr/doc/index.html - - section: html - contents: - - saves/rscript/libs/highr/html/00Index.html - - section: htmltools - contents: - - section: html - contents: - - saves/rscript/libs/htmltools/html/00Index.html - - section: htmlwidgets - contents: - - section: doc - contents: - - saves/rscript/libs/htmlwidgets/doc/develop_advanced.html - - saves/rscript/libs/htmlwidgets/doc/develop_intro.html - - saves/rscript/libs/htmlwidgets/doc/develop_sizing.html - href: saves/rscript/libs/htmlwidgets/doc/index.html - - section: html - contents: - - saves/rscript/libs/htmlwidgets/html/00Index.html - - section: httr - contents: - - section: doc - contents: - - saves/rscript/libs/httr/doc/api-packages.html - - saves/rscript/libs/httr/doc/quickstart.html - - saves/rscript/libs/httr/doc/secrets.html - href: saves/rscript/libs/httr/doc/index.html - - section: html - contents: - - saves/rscript/libs/httr/html/00Index.html - - section: httr2 - contents: - - section: doc - contents: - - saves/rscript/libs/httr2/doc/httr2.html - href: saves/rscript/libs/httr2/doc/index.html - - section: html - contents: - - saves/rscript/libs/httr2/html/00Index.html - - section: ini - contents: - - section: html - contents: - - saves/rscript/libs/ini/html/00Index.html - - section: isoband - contents: - - section: doc - contents: - - saves/rscript/libs/isoband/doc/isoband1.html - - saves/rscript/libs/isoband/doc/isoband3.html - href: saves/rscript/libs/isoband/doc/index.html - - section: html - contents: - - saves/rscript/libs/isoband/html/00Index.html - - section: jquerylib - contents: - - section: html - contents: - - saves/rscript/libs/jquerylib/html/00Index.html - - section: jsonlite - contents: - - section: doc - contents: - - saves/rscript/libs/jsonlite/doc/json-aaquickstart.html - - saves/rscript/libs/jsonlite/doc/json-apis.html - - saves/rscript/libs/jsonlite/doc/json-paging.html - href: saves/rscript/libs/jsonlite/doc/index.html - - section: html - contents: - - saves/rscript/libs/jsonlite/html/00Index.html - - section: knitr - contents: - - section: doc - contents: - - saves/rscript/libs/knitr/doc/datatables.html - - saves/rscript/libs/knitr/doc/docco-classic.html - - saves/rscript/libs/knitr/doc/docco-linear.html - - saves/rscript/libs/knitr/doc/knit_expand.html - - saves/rscript/libs/knitr/doc/knit_print.html - - saves/rscript/libs/knitr/doc/knitr-html.html - - saves/rscript/libs/knitr/doc/knitr-intro.html - - saves/rscript/libs/knitr/doc/knitr-markdown.html - href: saves/rscript/libs/knitr/doc/index.html - - section: html - contents: - - saves/rscript/libs/knitr/html/00Index.html - - section: misc - contents: - - saves/rscript/libs/knitr/misc/vignette.html - - section: opencpu - contents: - - section: apps - contents: [] - href: saves/rscript/libs/knitr/opencpu/apps/index.html - - section: labeling - contents: - - section: html - contents: - - saves/rscript/libs/labeling/html/00Index.html - - section: lifecycle - contents: - - section: doc - contents: - - saves/rscript/libs/lifecycle/doc/communicate.html - - saves/rscript/libs/lifecycle/doc/manage.html - - saves/rscript/libs/lifecycle/doc/stages.html - href: saves/rscript/libs/lifecycle/doc/index.html - - section: html - contents: - - saves/rscript/libs/lifecycle/html/00Index.html - - section: lmtest - contents: - - section: doc - contents: [] - href: saves/rscript/libs/lmtest/doc/index.html - - section: html - contents: - - saves/rscript/libs/lmtest/html/00Index.html - - section: lubridate - contents: - - section: doc - contents: - - saves/rscript/libs/lubridate/doc/lubridate.html - href: saves/rscript/libs/lubridate/doc/index.html - - section: html - contents: - - saves/rscript/libs/lubridate/html/00Index.html - - section: magrittr - contents: - - section: doc - contents: - - saves/rscript/libs/magrittr/doc/magrittr.html - - saves/rscript/libs/magrittr/doc/tradeoffs.html - href: saves/rscript/libs/magrittr/doc/index.html - - section: html - contents: - - saves/rscript/libs/magrittr/html/00Index.html - - section: markdown - contents: - - section: html - contents: - - saves/rscript/libs/markdown/html/00Index.html - - section: resources - contents: - - saves/rscript/libs/markdown/resources/markdown.html - - section: memoise - contents: - - section: html - contents: - - saves/rscript/libs/memoise/html/00Index.html - - section: microbenchmark - contents: - - section: html - contents: - - saves/rscript/libs/microbenchmark/html/00Index.html - - section: mime - contents: - - section: html - contents: - - saves/rscript/libs/mime/html/00Index.html - - section: minqa - contents: - - section: html - contents: - - saves/rscript/libs/minqa/html/00Index.html - - section: modelr - contents: - - section: html - contents: - - saves/rscript/libs/modelr/html/00Index.html - - section: mondate - contents: - - section: html - contents: - - saves/rscript/libs/mondate/html/00Index.html - - section: munsell - contents: - - section: html - contents: - - saves/rscript/libs/munsell/html/00Index.html - - section: numDeriv - contents: - - section: doc - contents: [] - href: saves/rscript/libs/numDeriv/doc/index.html - - section: html - contents: - - saves/rscript/libs/numDeriv/html/00Index.html - - section: openssl - contents: - - section: doc - contents: - - saves/rscript/libs/openssl/doc/bignum.html - - saves/rscript/libs/openssl/doc/crypto_hashing.html - - saves/rscript/libs/openssl/doc/keys.html - - saves/rscript/libs/openssl/doc/secure_rng.html - href: saves/rscript/libs/openssl/doc/index.html - - section: html - contents: - - saves/rscript/libs/openssl/html/00Index.html - - section: pillar - contents: - - section: doc - contents: - - saves/rscript/libs/pillar/doc/debugme.html - - saves/rscript/libs/pillar/doc/digits.html - - saves/rscript/libs/pillar/doc/extending.html - - saves/rscript/libs/pillar/doc/numbers.html - - saves/rscript/libs/pillar/doc/printing.html - href: saves/rscript/libs/pillar/doc/index.html - - section: html - contents: - - saves/rscript/libs/pillar/html/00Index.html - - section: pkgconfig - contents: - - section: html - contents: - - saves/rscript/libs/pkgconfig/html/00Index.html - - section: pkgload - contents: - - section: html - contents: - - saves/rscript/libs/pkgload/html/00Index.html - - section: praise - contents: - - section: html - contents: - - saves/rscript/libs/praise/html/00Index.html - - section: purrr - contents: - - section: doc - contents: - - saves/rscript/libs/purrr/doc/base.html - - saves/rscript/libs/purrr/doc/other-langs.html - href: saves/rscript/libs/purrr/doc/index.html - - section: html - contents: - - saves/rscript/libs/purrr/html/00Index.html - - section: quadprog - contents: - - section: html - contents: - - saves/rscript/libs/quadprog/html/00Index.html - - section: quantmod - contents: - - section: html - contents: - - saves/rscript/libs/quantmod/html/00Index.html - - section: rappdirs - contents: - - section: html - contents: - - saves/rscript/libs/rappdirs/html/00Index.html - - section: reactR - contents: - - section: doc - contents: - - saves/rscript/libs/reactR/doc/intro_htmlwidgets.html - - saves/rscript/libs/reactR/doc/intro_inputs.html - - saves/rscript/libs/reactR/doc/intro_reactR.html - href: saves/rscript/libs/reactR/doc/index.html - - section: html - contents: - - saves/rscript/libs/reactR/html/00Index.html - - section: reactable - contents: - - section: html - contents: - - saves/rscript/libs/reactable/html/00Index.html - - section: rematch2 - contents: - - section: html - contents: - - saves/rscript/libs/rematch2/html/00Index.html - - section: rlang - contents: - - section: html - contents: - - saves/rscript/libs/rlang/html/00Index.html - - section: rmarkdown - contents: - - section: doc - contents: - - saves/rscript/libs/rmarkdown/doc/lua-filters.html - - saves/rscript/libs/rmarkdown/doc/rmarkdown.html - href: saves/rscript/libs/rmarkdown/doc/index.html - - section: html - contents: - - saves/rscript/libs/rmarkdown/html/00Index.html - - section: rmarkdown - contents: - - section: templates - contents: - - section: github_document - contents: - - section: resources - contents: - - saves/rscript/libs/rmarkdown/rmarkdown/templates/github_document/resources/preview.html - - section: rmd - contents: - - section: fragment - contents: - - saves/rscript/libs/rmarkdown/rmd/fragment/default.html - - section: h - contents: - - saves/rscript/libs/rmarkdown/rmd/h/default.html - - saves/rscript/libs/rmarkdown/rmd/h/shiny-header.html - - section: jqueryui - contents: [] - href: saves/rscript/libs/rmarkdown/rmd/h/jqueryui/index.html - - section: ioslides - contents: - - saves/rscript/libs/rmarkdown/rmd/ioslides/default.html - - section: slidy - contents: - - saves/rscript/libs/rmarkdown/rmd/slidy/default.html - - section: rprojroot - contents: - - section: doc - contents: - - saves/rscript/libs/rprojroot/doc/rprojroot.html - href: saves/rscript/libs/rprojroot/doc/index.html - - section: html - contents: - - saves/rscript/libs/rprojroot/html/00Index.html - - section: rstudioapi - contents: - - section: doc - contents: - - saves/rscript/libs/rstudioapi/doc/dialogs.html - - saves/rscript/libs/rstudioapi/doc/document-manipulation.html - - saves/rscript/libs/rstudioapi/doc/introduction.html - - saves/rscript/libs/rstudioapi/doc/projects.html - - saves/rscript/libs/rstudioapi/doc/r-session.html - - saves/rscript/libs/rstudioapi/doc/terminal.html - - saves/rscript/libs/rstudioapi/doc/visual-mode.html - href: saves/rscript/libs/rstudioapi/doc/index.html - - section: html - contents: - - saves/rscript/libs/rstudioapi/html/00Index.html - - section: sandwich - contents: - - section: doc - contents: [] - href: saves/rscript/libs/sandwich/doc/index.html - - section: html - contents: - - saves/rscript/libs/sandwich/html/00Index.html - - section: sass - contents: - - section: doc - contents: - - saves/rscript/libs/sass/doc/sass.html - href: saves/rscript/libs/sass/doc/index.html - - section: html - contents: - - saves/rscript/libs/sass/html/00Index.html - - section: scales - contents: - - section: html - contents: - - saves/rscript/libs/scales/html/00Index.html - - section: stinepack - contents: - - section: html - contents: - - saves/rscript/libs/stinepack/html/00Index.html - - section: stringi - contents: - - section: html - contents: - - saves/rscript/libs/stringi/html/00Index.html - - section: stringr - contents: - - section: doc - contents: - - saves/rscript/libs/stringr/doc/from-base.html - - saves/rscript/libs/stringr/doc/regular-expressions.html - - saves/rscript/libs/stringr/doc/stringr.html - href: saves/rscript/libs/stringr/doc/index.html - - section: html - contents: - - saves/rscript/libs/stringr/html/00Index.html - - section: strucchange - contents: - - section: doc - contents: [] - href: saves/rscript/libs/strucchange/doc/index.html - - section: html - contents: - - saves/rscript/libs/strucchange/html/00Index.html - - section: sys - contents: - - section: html - contents: - - saves/rscript/libs/sys/html/00Index.html - - section: testthat - contents: - - section: doc - contents: - - saves/rscript/libs/testthat/doc/custom-expectation.html - - saves/rscript/libs/testthat/doc/parallel.html - - saves/rscript/libs/testthat/doc/skipping.html - - saves/rscript/libs/testthat/doc/snapshotting.html - - saves/rscript/libs/testthat/doc/special-files.html - - saves/rscript/libs/testthat/doc/test-fixtures.html - - saves/rscript/libs/testthat/doc/third-edition.html - href: saves/rscript/libs/testthat/doc/index.html - - section: html - contents: - - saves/rscript/libs/testthat/html/00Index.html - - section: tibble - contents: - - section: doc - contents: - - saves/rscript/libs/tibble/doc/digits.html - - saves/rscript/libs/tibble/doc/extending.html - - saves/rscript/libs/tibble/doc/formats.html - - saves/rscript/libs/tibble/doc/invariants.html - - saves/rscript/libs/tibble/doc/numbers.html - - saves/rscript/libs/tibble/doc/tibble.html - - saves/rscript/libs/tibble/doc/types.html - href: saves/rscript/libs/tibble/doc/index.html - - section: html - contents: - - saves/rscript/libs/tibble/html/00Index.html - - section: tidyr - contents: - - section: doc - contents: - - saves/rscript/libs/tidyr/doc/in-packages.html - - saves/rscript/libs/tidyr/doc/nest.html - - saves/rscript/libs/tidyr/doc/pivot.html - - saves/rscript/libs/tidyr/doc/programming.html - - saves/rscript/libs/tidyr/doc/rectangle.html - - saves/rscript/libs/tidyr/doc/tidy-data.html - href: saves/rscript/libs/tidyr/doc/index.html - - section: html - contents: - - saves/rscript/libs/tidyr/html/00Index.html - - section: tidyselect - contents: - - section: doc - contents: - - saves/rscript/libs/tidyselect/doc/syntax.html - - saves/rscript/libs/tidyselect/doc/tidyselect.html - href: saves/rscript/libs/tidyselect/doc/index.html - - section: html - contents: - - saves/rscript/libs/tidyselect/html/00Index.html - - section: timeDate - contents: - - saves/rscript/libs/timeDate/COPYRIGHT.html - - section: html - contents: - - saves/rscript/libs/timeDate/html/00Index.html - - section: timeSeries - contents: - - section: doc - contents: [] - href: saves/rscript/libs/timeSeries/doc/index.html - - section: html - contents: - - saves/rscript/libs/timeSeries/html/00Index.html - - section: timechange - contents: - - section: html - contents: - - saves/rscript/libs/timechange/html/00Index.html - - section: tinytex - contents: - - section: html - contents: - - saves/rscript/libs/tinytex/html/00Index.html - - section: tis - contents: - - section: html - contents: - - saves/rscript/libs/tis/html/00Index.html - - section: tseries - contents: - - section: html - contents: - - saves/rscript/libs/tseries/html/00Index.html - - section: usethis - contents: - - section: html - contents: - - saves/rscript/libs/usethis/html/00Index.html - - section: utf8 - contents: - - section: doc - contents: - - saves/rscript/libs/utf8/doc/utf8.html - href: saves/rscript/libs/utf8/doc/index.html - - section: html - contents: - - saves/rscript/libs/utf8/html/00Index.html - - section: vctrs - contents: - - section: doc - contents: - - saves/rscript/libs/vctrs/doc/pillar.html - - saves/rscript/libs/vctrs/doc/s3-vector.html - - saves/rscript/libs/vctrs/doc/stability.html - - saves/rscript/libs/vctrs/doc/type-size.html - href: saves/rscript/libs/vctrs/doc/index.html - - section: html - contents: - - saves/rscript/libs/vctrs/html/00Index.html - - section: viridisLite - contents: - - section: html - contents: - - saves/rscript/libs/viridisLite/html/00Index.html - - section: waldo - contents: - - section: html - contents: - - saves/rscript/libs/waldo/html/00Index.html - - section: whisker - contents: - - section: html - contents: - - saves/rscript/libs/whisker/html/00Index.html - - section: withr - contents: - - section: doc - contents: - - saves/rscript/libs/withr/doc/withr.html - href: saves/rscript/libs/withr/doc/index.html - - section: html - contents: - - saves/rscript/libs/withr/html/00Index.html - - section: xfun - contents: - - section: doc - contents: - - saves/rscript/libs/xfun/doc/xfun.html - href: saves/rscript/libs/xfun/doc/index.html - - section: html - contents: - - saves/rscript/libs/xfun/html/00Index.html - - section: resources - contents: - - saves/rscript/libs/xfun/resources/record.html - - section: xts - contents: - - section: doc - contents: [] - href: saves/rscript/libs/xts/doc/index.html - - section: html - contents: - - saves/rscript/libs/xts/html/00Index.html - - section: yaml - contents: - - section: html - contents: - - saves/rscript/libs/yaml/html/00Index.html - - section: zip - contents: - - section: html - contents: - - saves/rscript/libs/zip/html/00Index.html - - section: zoo - contents: - - section: doc - contents: [] - href: saves/rscript/libs/zoo/doc/index.html - - section: html - contents: - - saves/rscript/libs/zoo/html/00Index.html