【发布时间】:2011-10-21 02:52:09
【问题描述】:
我想在这个数据集中设置列宽(对于所有 3 列),如:anim=1-10;西雷德=11-20;达米德=21-30。有些列有缺失值。
anim=c("1A038","1C467","2F179","38138","030081")
sireid=c("NA","NA","1W960","1W960","64404")
damid=c("NA","NA","1P119","1P119","63666")
mydf=data.frame(anim,sireid,damid)
【问题讨论】:
-
老实说,我真的不知道您所说的列宽是什么意思。你能更详细地解释一下吗?
-
@joran: 示例:我想将第一列(“anim”)的宽度或长度设置为 1-6。我根据可能的最大字符数设置长度 a 。例如,最后一个动画 id 是“030081”有 6 个字符。我想对这两列做同样的事情。谢谢!
-
听起来洪是对的;我从来没有使用过 SAS,所以我从来没有想过有人会想在 R 中这样做。
-
@joran:它不仅仅是 R 的一个函数,尽管 R 可以利用它。正如我在下面 Hong 的回答中提到的那样 - 固定宽度的文件对于内存映射很有用:人们将确切地知道在哪里寻找数据,因为布局适合于一个非常简单的映射功能。因此,不需要对每一行进行索引,也不需要解析每一行,以获得对数据的随机访问。内存映射文件不必是二进制文件,如
bigmemory。能够知道在哪里查找意味着数据可以是海量的(尽管 ASCII 格式是一种顽皮的浪费)。
标签: r fixed-width multiple-columns