2014-03-06 51 views
0

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

回答

3

尝试:

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

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

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

1

你也失去了你的第一行数据,菠菜和2.00。它使这些列名称,2.00变成X2.00,以符合R命名规则的允许名称。添加列标题