【问题标题】:Adding colnames to a dataframe将列名添加到数据框
【发布时间】:2014-03-06 21:45:45
【问题描述】:

当我阅读 csv 时,它会在我的第一个元素中添加一个 X。不知道怎么回事?

此外,当我将 colnames 添加到数据框时,我的第一行消失了。

> grocery<-read.csv("groceries.csv")
> grocery
       spinach X2.00
1         rice   3.0
2 toilet paper   4.0
3        bread   2.4
4         milk   3.1
5        apple   0.4
> 
> class(grocery)
[1] "data.frame"
> colnames(grocery)<-c("item","price")
> grocery
          item price
1         rice   3.0
2 toilet paper   4.0
3        bread   2.4
4         milk   3.1
5        apple   0.4
> 

这是原始 csv:

spinach,2.00
rice,3.00
toilet paper,4.00
bread,2.40
milk,3.10
apple,0.40

【问题讨论】:

    标签: r csv dataframe


    【解决方案1】:

    尝试:

    read.csv("groceries.csv", header=F)
    

    默认情况下,该函数假定数据的第一行是标题,并将其用于列名而不是数据。由于数字不是有效的列名,它会将X 附加到数字以使其成为字符。当您重新设置 colnames 时,您会覆盖过去实际保存为 colnames 而不是一行数据的数据的第一行。

    设置header=F 将阻止read.csv 将第一行用作列名。

    【讨论】:

      【解决方案2】:

      您还会丢失第一行数据、菠菜和 2.00。它使那些列名,2.00 变为 X2.00 以符合允许名称的 R 命名约定。添加列标题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-03
        • 2023-03-21
        • 1970-01-01
        • 2019-06-23
        • 2019-10-31
        • 2017-02-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多