我正在尝试将一组数据加载到R中。它是一个简单统计项目的文本文档。
flights<-read.table("flights.txt")
然而,当我这样做时,我收到错误&#34; read.table中的错误(&#34; FLIGHTS.txt&#34;): 重复&#39; row.names&#39;不允许&#34;
以下是文本文档的示例。
Flight Plane_ID Dep_Delay Taxi_Out Taxi_In_Arr_Delay
1 N338AA -2 30 12 -32
1 N329AA -1 19 13 -25
1 N319AA -2 12 8 -26
1 N319AA 2 19 21 -6
1 N329AA -2 18 17 5
1 N320AA 0 22 11 -15
我还在下划线中添加了名称,因为我收到的错误与每行中的元素数量有关。
放入row.names = NULL后我得到了这个输出
row.names Flight Plane_ID Dep_Delay Taxi_Out Taxi_In_Arr_Delay
1 1 N338AA -2 30 12 -32
2 1 N329AA -1 19 13 -25
3 1 N319AA -2 12 8 -26
4 1 N319AA 2 19 21 -6
还有一组额外的行号,它会显示row.names,有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
data.frame
无法获取重复的行名称。我们可以在row.names=NULL
中使用read.table
,这将创建一个额外的列row.names
,可以通过对数据集进行子集化来删除。
dat <- read.table('flights.txt', row.names=NULL)
dat <- dat[-1]
另一种选择是使用awk
替换''
中的第pipe
段,然后在第4行以后的{flights} .txt&#39;,read.table
中使用 dat1 <- read.table(pipe("awk 'NR >1{$1=\"\"}1' flights.txt"),
header=TRUE, stringsAsFactors=FALSE)
dat1
# Flight Plane_ID Dep_Delay Taxi_Out Taxi_In_Arr_Delay
#1 N338AA -2 30 12 -32
#2 N329AA -1 19 13 -25
#3 N319AA -2 12 8 -26
#4 N319AA 2 19 21 -6
#5 N329AA -2 18 17 5
#6 N320AA 0 22 11 -15
{{1}}
{{1}}