R中rbind的问题

时间:2013-06-30 14:21:44

标签: r

我正在尝试执行以下操作:

我有一个csv文件,

test<-read.csv("C:\\Users\\Yi Xiang\\Desktop\\testing.csv",header=TRUE,sep=",")

并打印出如下

test
[1] Date.and.Time       Size.of.sample.file number.of.errors    percentage         
<0 rows> (or 0-length row.names)

在我的excel文件中,iet看起来像这样:(前四个单元格)

Date.and.Time   Size.of.sample.file number.of.errors    percentage

它只用4个标题写成excel,没有数据。

然后我有以下

time<-as.character(Sys.time())
test_vector2<-c(time,dim(data_frame())[1],dim(error_report)[1], 100*(dim(error_report)[1]/dim(data_frame())[1]))
test_vector3<-as.data.frame(t(test_vector2))

row.names(test_vector3)<-NULL
colnames(test_vector3)<-names(test)
在我的R上,它打印出来

test_vector3
# Date.and.Time Size.of.sample.file number.of.errors       percentage
# 1 2013-06-30 21:44:09                1739              216 12.4209315698677

但是当我将它导出到csv文件时,

write.csv(test2,"testing.csv")

它在excel上返回我

Date.and.Time   Size.of.sample.file number.of.errors    percentage
1   30/6/2013 21:44 1739    216 12.42093157

如果我再次运行代码,

test<-read.csv("C:\\Users\\Yi Xiang\\Desktop\\testing.csv",header=TRUE,sep=",")

test
# X       Date.and.Time Size.of.sample.file number.of.errors percentage
# 1 1 2013-06-30 21:44:09                1739              216   12.42093

这不是我想要的,我在第一列中有一个额外的X和1

我该如何避免这种情况?

(如果有兴趣的话,基本上,我想在我对原始数据文件执行测试时记录下来,并在没有手动添加它的情况下跟踪我的百分比文件。所以你可以看到,我的新{{1} }是不同于旧的,这导致我的问题,当我写csv文件时如何避免第一列? - 我试图使用names(test),但它不起作用)

1 个答案:

答案 0 :(得分:3)

您的问题有两种解决方案:

  1. 不要将rownames写入csv文件: write.csv(test, "testing.csv", row.names=FALSE)(有关详情,请参阅?write.table。)
  2. 将rownames作为rownames读取。表示您必须告诉read.csv哪个列包含rownames:read.csv("testing.csv", row.names=1)(有关详细信息,请参阅?read.table。)
  3. 不要将两者结合使用(您将使用第一列)。