如何解决如何在不丢失格式的情况下将R中的列表列表保存到文件中?
如何将R中的列表列表存储到文件中,以便当我再次读取它时,它的格式与存储它之前的格式完全相同? 这是保存对象之前的样子:
$parameters_model_r$cost_type
[1] "FTC"
$parameters_model_r$input_path
[1] "/mnt/OUTPUT/CPM_PET_US/MODEL/DATA"
$parameters_model_r$file_type
[1] "parquet"
$parameters_model_r$delimiter
[1] ","
$parameters_model_r$inferSchema
[1] "true"
$parameters_model_r$label
[1] "CASS_LINE_COST"
及其类型:str(config)
$ parameters_model_r :List of 22
..$ cost_type : chr "FTC"
..$ input_path : chr "/mnt/OUTPUT/CPM_PET_US/MODEL/DATA"
..$ file_type : chr "parquet"
..$ delimiter : chr ","
..$ inferSchema : chr "true"
..$ label : chr "CASS_LINE_COST"
..$ model_output_path : chr "/dbfs/mnt/OUTPUT/CPM_PET_US/MODEL/AGGREGATED_LEVEL/MODEL_OUTPUT"
..$ split_percentage : num 0.75
..$ stratify_by :List of 1
.. ..$ columns: chr [1:3] "CUSTOMER" "PKGTECH" "REGION"
..$ glasso_stratify_by:List of 1
.. ..$ columns: chr [1:2] "CUSTOMER" "PKGTECH"
..$ remove_cols :List of 1
.. ..$ columns: chr [1:5] "YEARPERIOD" "STRATIFY_BY" "YEARPERIODWEEK" "SEGMENTATION" ...
..$ n_folds : int 10
..$ lambda_lower_bound: num 0.001
..$ lambda_upper_bound: num 0.01
理想情况下,我需要将其转换为Json,但是每次使用toJSON()时,格式都会发生变化,而当我再次读取它时,该格式不再起作用,因为在我的建模脚本中,所有内容都需要专门传递与我上面显示的方式相同
解决方法
我不知道您使用了哪个确切函数,但是使用toJSON
软件包中的fromJSON
和jsonlite
函数,一切似乎都可以正常工作:
library(jsonlite)
# create nested list
my_list <- list(irisA = list(irisA1 = iris),irisB = list(irisB1 = iris),irisC = list(irisC1 = iris))
str(my_list,max.level = 2)
#> List of 3
#> $ irisA:List of 1
#> ..$ irisA1:'data.frame': 150 obs. of 5 variables
#> $ irisB:List of 1
#> ..$ irisB1:'data.frame': 150 obs. of 5 variables
#> $ irisC:List of 1
#> ..$ irisC1:'data.frame': 150 obs. of 5 variables
# convert to JSON
my_json <- jsonlite::toJSON(my_list)
# convert back
str(jsonlite::fromJSON(my_json),max.level = 2)
#> List of 3
#> $ irisA:List of 1
#> ..$ irisA1:'data.frame': 150 obs. of 5 variables
#> $ irisB:List of 1
#> ..$ irisB1:'data.frame': 150 obs. of 5 variables
#> $ irisC:List of 1
#> ..$ irisC1:'data.frame': 150 obs. of 5 variables
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。