我有一个包含混合值的表,包括字符串和数值。我选择使用data.frame
来存储它。但是,我在向数据框添加额外行时遇到了严重困难。 <{1}}等错误消息一直在发生。
除了使用data.frame之外,是否有任何数据结构可以帮助避免invalid factor level, NA generated
的问题,同时仍然支持混合数据格式?
答案 0 :(得分:0)
data.frame
(或data.table
)很可能是您正在寻找的数据结构。
说白了:为了添加“新行”,每个新元素都需要确认与其列相关的任何限制。大多数情况下,这意味着属于同一类。
如果要将元素添加到因子列(如您收到的错误所示),则还需要新值也必须是该因子的级别。 (有关详细信息,请参阅?factor
)
如果有人故意使用因素,那么以上是件好事。但是,如果有一个列无意中被强制转换为一个因子,那么上面就是P.I.T.A。
不幸的是,生成data.frames的大多数函数的默认值是stringsAsFactors=TRUE
。这个,imho,很烦人。但是你所要做的就是关闭那个标志,你应该设置好。