我想使用NIBRS的“主文件下载”来进行2021年的逮捕,但是这些数据来自一个ASCII文本文件,我不知道如何转换成可用的数据集,从帮助文件中看,长数字串的某些位置对应着不同的列,但我不知道如何告诉R或Stata导入文件,而削减在这些位置。任何帮助将不胜感激!
数据的前几行如下所示:
350AK001046 921 00 20000 0000000 N0000008198 KETCHIKAN Alaska
350AK001046 921 01100210 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000001000000004000000003000000003000000001000000000000000000000000001000000001000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000003000000000000000000000000008
350AK001046 921 01100240 000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002000000003000000004000000000000000000000000002000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000001000000002000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000004000000000000000000000000005
350AK001046 921 01100260 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000002000000006000000005000000009000000005000000005000000006000000002000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000003000000002000000003000000002000000002000000001000000000000000000000000000000000000000000000000000000000000000000000000000000035000000000000000015000000000000000000000000025
3条答案
按热度按时间ovfsdjhp1#
假设我们在最后的注解中生成了文件
lee.dat
,它由8行或4行字段组成,并且我们假设8行字段将被添加到其后的4行字段之前。现在使用count.fields
查找每行中的字段数,然后使用cumsum
创建分组变量g
,该变量将8个字段的行分组为以下4行字段。然后粘贴每个组并读取所有内容。给予
注解
为了便于说明,我们将4个字段行中的长字段减少到3个字符。
vc6uscn92#
在Stata中,这将是
infix
命令的作业。如果您将示例数据放在名为test.raw的文件中,则此代码将提取前四列:
下面是list命令的输出:
我得到了最初的列标题和位置,从点击“主文件下载”下的“下载逮捕文件的帮助文件”在您提供的链接。
1cklez4t3#
完成此类任务的最佳工具通常是“Excel”,但使用“大数据”时,它在第653行失败(最近通过“新冠肺炎患者损失"测试突出显示)。因此,我认为最好的方法是将文件拆分为65000行的部分,带有头部或尾部或文件拆分器,然后使用文件导入到带有列的电子表格s中。