我有几个.txt文件,我想读取,然后rbind在R中。我希望每个.txt文件生成1行和115列。第一个问题:我面临以下警告消息:“readTableHeader在...上找到不完整的最后一行”但我有几个文件,我无法导航到每个文件的最后一行并按Enter键。我在互联网上找到的一些解决方案不起作用,因为下面的第二个问题。
第二个问题:列名(Columns)和列的内容(Rows)没有分隔符。.txt文件如下所示:“DIARREIA”:1,“DISPNEIA”:2,注意“DIARREIA”和“DISPNEIA”是列名,而1和2是列内容。列名称和列内容之间有冒号(:)。
这里是我的代码和2个文件作为例子可在https://drive.google.com/drive/folders/16U8J12Ld7PI5DI-ph_2QCysTxFGKZ-QP?usp=share_link。
````setwd("C:/User/BOX")
unzip("C:/User/BOX/data.zip")
list.files()
temp = list.files(pattern = "*.txt")
df = do.call("rbind", lapply(temp, function(x) read.table(x, stringsAsFactors = T, header = TRUE)))```
有什么需要帮忙的吗?先谢了!
2条答案
按热度按时间xdyibdwo1#
你好巴普蒂斯塔:安装
jsonlite
如果你没有安装它,并尝试这样:qyzbxkaa2#
你已经找到了一些Debian控制文件的医疗记录。阅读.dcf和正确格式的.dcf文件的解释。你可以得到这个结果
但是还有一些麻烦的事情要做,这可以在R中完成,在文本编辑器中可能更容易。考虑到.dcf规则,我们可能(已经将subject1和subject2复制并粘贴到一个文本文件中)
在文本编辑器中更容易看到,这些(9和5)是之前的标签:值对的延续,可能是临床医生的危急指示,并且应该在它们之前有一个空格。您可以使用regex,找到它们并放置空格,最后您仍然不会有
subject:1
或subject:2
,如上所示,因为它们不在记录中,它们是文件名。对于jsonlite
可能也是如此。并将所有的'"'替换为',以便更容易阅读列名。