我正在尝试用R读取一个csv文件。我可以读取该文件,但是当我调用一个变量时我有级别。这些级别是什么?如何删除它们? 该文件可以在此处下载file
> data=read.csv("Documents/bet/I1.csv",sep=",")
> data$HomeTeam
[1] Sampdoria Verona Cagliari Inter Lazio Livorno Napoli Parma
[9] Torino Fiorentina Chievo Juventus Atalanta Bologna Catania Genoa
[17] Milan Roma Sassuolo Udinese Inter Napoli Torino Fiorentina
[25] Lazio Livorno Sampdoria Udinese Verona Parma Cagliari Chievo
[33] Genoa Atalanta Bologna Catania Juventus Milan Roma Sassuolo
[41] Udinese Bologna Chievo Lazio Livorno Napoli Parma Sampdoria
[49] Torino Inter Genoa Milan Atalanta Cagliari Catania Roma
[57] Sassuolo Torino Verona Fiorentina Bologna Catania Napoli Parma
[65] Sampdoria Udinese Juventus Lazio Chievo Inter Roma Cagliari
[73] Milan Atalanta Fiorentina Genoa Livorno Sassuolo Verona Torino
[81] Inter Sampdoria Bologna Catania Chievo Juventus Lazio Napoli
[89] Parma Udinese Atalanta Cagliari Fiorentina Genoa Juventus Livorno
[97] Milan Sassuolo Verona Roma Milan Napoli Parma Lazio
[105] Livorno Sampdoria Torino Udinese Verona Bologna Catania Inter
[113] Atalanta Cagliari Chievo Genoa Parma Roma Fiorentina Juventus
[121] Milan Napoli Verona Bologna Livorno Sampdoria Sassuolo Torino
[129] Udinese Roma
20 Levels: Atalanta Bologna Cagliari Catania Chievo Fiorentina Genoa Inter Juventus ... Verona
答案 0 :(得分:7)
使用?read.csv读取文件时,参数stringsAsFactors
默认设置为TRUE
,您只需将其设置为false即可得不到此结果。这应该有效:
data = read.csv("Documents/bet/I1.csv", sep=",", stringsAsFactors=FALSE)
在默认情况下,文件中包含字符串的列(变量)被假定为因子。因子是一个分类变量,只能采用一组固定的有限可能性。那些可能的类别是级别。您可以在R简介手册here中阅读有关因素的信息,this是另一个教程。
此外,由于您使用的是读取。 csv ,因此添加sep=","
是多余的。它不会伤害任何东西,但默认情况下逗号被视为分隔符。
答案 1 :(得分:2)
变量HomeTeam
的级别的存在表明它是一个因素(有20个级别)。您可以在StringAsFactors=FALSE
函数中指定read.csv
参数以将其删除。