【发布时间】:2020-02-17 12:34:01
【问题描述】:
我正在尝试从“记录”列表创建一个数据框,即每行(与加载 CSV 文件相比,但现在从 R 脚本文件中),但我能找到的所有示例都创建来自包含各个列的向量的数据框。
我发现最接近的是从一个空数据框开始,然后使用 rbind 和列表添加行,但随后原始列名丢失并且所有列都有类字符。
> generations <- data.frame(launch_date=as.Date(integer(), origin="1970-01-01"), generation=character(), stringsAsFactors=FALSE)
> generations
[1] launch_date generation
<0 rows> (or 0-length row.names)
这里一切都好。现在:
> generations <- rbind(generations,list("2010-09-01", "Generation 1"), stringsAsFactors=FALSE)
> generations
X.2010.09.01. X.Generation.1.
1 2010-09-01 Generation 1
> str(generations)
'data.frame': 1 obs. of 2 variables:
$ X.2010.09.01. : chr "2010-09-01"
$ X.Generation.1.: chr "Generation 1"
原来的列名和类消失了:(
想要这样的原因是在单独的向量中维护数据很麻烦并且容易出错。所以这里的想法是使用带有一堆列表的 rbind,其中日期和名称可以一起维护(即成对,每个“记录”/行)。
这个怎么办?
【问题讨论】:
标签: r