将字符串添加到数据框

时间:2014-03-06 21:45:46

标签: r csv dataframe

当我阅读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

2 个答案:

答案 0 :(得分:3)

尝试:

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

默认情况下,该函数假定数据的第一行是标题,并将其用作colnames而不是数据。由于数字不是有效的字母名称,因此它会在数字前加上X以使其成为字符。重新设置colnames时,会覆盖实际上保存为colnames而不是一行数据的数据的第一行。

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

答案 1 :(得分:1)

你也失去了你的第一行数据,菠菜和2.00。正在制作列名,2.00变为X2.00以符合允许名称的R命名约定。添加列标题