1

所以我正在尝试将 csv 读入 R,如果我使用

data = read.csv("2013_NBAseason.csv", header = T)

我收到一个错误

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
duplicate 'row.names' are not allowed"

这是因为日期不是唯一的,因为每天都会玩多个游戏。因此,我尝试使用this删除最后一列,但仍然出现相同的错误。

问题的原因,我读完后认为因为我的最后一列没有标题

因此我做了这个

data = read.csv("2013_NBAseason.csv", header = T, 
                 colClasses=c(rep(NA,7),"NULL"), row.names=NULL)

现在我有一个数据框,它的所有列名都被转移了,右边有一个空列

head(data)
          row.names      Date          Box.Score Away          Away_Points Home  Home_Points
1 Tue, Oct 30, 2012 Box Score Washington Wizards   84  Cleveland Cavaliers   94
2 Tue, Oct 30, 2012 Box Score   Dallas Mavericks   99   Los Angeles Lakers   91
3 Tue, Oct 30, 2012 Box Score     Boston Celtics  107           Miami Heat  120
4 Wed, Oct 31, 2012 Box Score   Sacramento Kings   87        Chicago Bulls   93

解决此问题或避免问题的最佳方法是什么?

另外,如果有人告诉我如何添加 csv,我可以上传它,以便你们可以看到原始数据。

此外,手动更改 csv 将不起作用,因为这需要外推到更多类似这样的 csv

temp = list.files(pattern="*.csv")
data = do.call("rbind", lapply(temp, read.csv, ...
4

1 回答 1

0

你为什么不尝试不使用header = T

做这个:

#read data without any row names
data <- read.csv("2013_NBAseason.csv")

#enter string "home_points" to last column. I am assuming it is column 6.
data[1, 6] <- "Home_Points"

#make row 1, your column names
colnames(data) = data[1, ]

以上解决了吗?

于 2015-05-04T03:35:59.720 回答