如何将此.txt读入R(高效)?

时间:2017-08-10 13:27:26

标签: r import

我想将以下.txt文件读入R,其中第一行如下所示:

"Mark"  "Name des Unternehmens" "Ort"   "ID 1"  "ID 2"  "Straße und Hausnummer (*)" "Postleitzahl"  "ID 3"  "ID 4"  "Value of interest" "Value of interest 2"
"1" "VOLKSWAGEN AKTIENGESELLSCHAFT" "Wolfsburg" "2070000543"    "38100 HRB 100484"  ""  "38440" "03103" "031"   "2910"  "3361"
"2" "Daimler AG"    "Stuttgart" "7330530056"    "70190 HRB 19360"   ""  "70327" "08111" "081"   "2910"  "3361"
"3" "E.ON SE"   "Essen" "5050056484"    "40227 HRB 69043"   ""  "45131" "05113" "051"   "7010"  "5511"

也就是说,第一行像往常一样给出标题和下一行,从数字“1”,“2”,“3”开始,提供特定的观察。

不幸的是,无论何时我想将它读入R,无论是使用导入工具还是read.table,R都不会将不同的列识别为不同的变量,而只是给出一个完全无用的变量。另外,每行都会收到错误消息“line x contains embedded nuls”。

我尝试了以下操作,我在Excel中导入了.txt,并将其保存为csv,然后允许我导入它。这有效,但是在R中没有更好的方法吗? .txt数据看起来并不那么古怪。 谢谢!

1 个答案:

答案 0 :(得分:0)

是的,你的方法是正确的:

read.table("data.txt", header = TRUE, stringsAsFactors = FALSE)

但是,您可能会遇到导致您悲痛的编码问题。示例中的文本包含非ASCII字符,因此请检查文本文件的编码。并检查R会话的编码。

我猜这个文本是UTF-8,你是用原生的非UTF-8编码导入的。试试这个:

read.table("data.txt", header = TRUE, stringsAsFactors = FALSE, encoding = "UTF-8")