【问题标题】:What are R levels?什么是 R 水平?
【发布时间】:2013-12-17 08:03:50
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: r csv


    【解决方案1】:

    使用?read.csv读取文件时,参数stringsAsFactors默认设置为TRUE,只需设置为false就不会得到这个结果。这应该有效:

    data = read.csv("Documents/bet/I1.csv", sep=",", stringsAsFactors=FALSE)
    

    默认情况下,文件中包含字符串的列(变量)被假定为因素。因子是一个分类变量,它只能采用固定的、有限的一组可能性中的一种。这些可能的类别是级别。您可以在 R Intro 手册here 中阅读有关因素,this 是另一个教程。

    此外,由于您使用的是 read.csv,因此添加 sep="," 是多余的。它不会损害任何东西,但默认情况下逗号作为分隔符。

    【讨论】:

    • @Donbeo 尝试阅读this
    • @Donbeo,我已经编辑了我的答案以解释因素/水平,并包含一些指向带有更多信息的参考的链接。
    • 谢谢!我认为第二个链接已移至:stat.berkeley.edu/~s133/factors.html
    【解决方案2】:

    变量HomeTeam 存在水平表明它是一个因素(有20 个水平)。您可以在read.csv 函数中指定StringAsFactors=FALSE 参数来删除它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2017-03-10
      • 1970-01-01
      相关资源
      最近更新 更多