【发布时间】:2023-04-07 07:36:01
【问题描述】:
虽然数据框列必须具有相同数量的行,但有什么方法可以创建长度不等的数据框。我对将它们保存为列表的单独元素不感兴趣,因为我经常必须将此信息作为 csv 文件通过电子邮件发送给人们,而这作为数据框最简单。
x = c(rep("one",2))
y = c(rep("two",10))
z = c(rep("three",5))
cbind(x,y,z)
在上面的代码中,cbind() 函数只是回收较短的列,以便它们在每列中都有 10 个元素。我怎样才能改变它,使长度为 2、10 和 5。
我过去通过执行以下操作来完成此操作,但效率低下。
df = data.frame(one=c(rep("one",2),rep("",8)),
two=c(rep("two",10)), three=c(rep("three",5), rep("",5)))
【问题讨论】:
-
是的。特别是,我的答案与前者给出的两个答案几乎相同。 @Owen 的“颠覆性”答案新颖而聪明(如果危险的话)。
-
这个问题就像在问我如何存储一个表示 2/3 的整数。
-
您也可以使用
dput以 ascii(仅限 R)格式存储数据。