0

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

我有一个 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

我该如何避免这种情况?

(如果感兴趣的话,基本上,我想在我对原始数据文件执行测试时记录下来,并跟踪我的百分比文件而不需要我手动附加它。所以你可以看到,我的新文件names(test)与旧文件不同,这导致了我的问题,当我编写 csv 文件时,我如何避免第一列? - 我尝试使用row.names <- NULL,但它不起作用)

4

1 回答 1

3

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

  1. 不要将行名写入您的 csv 文件:( write.csv(test, "testing.csv", row.names=FALSE)请参阅?write.table详细信息)。
  2. 将行名读取为行名。意味着您必须知道read.csv哪一列包含行名:(read.csv("testing.csv", row.names=1)请参阅?read.table详细信息)。

不要将两者结合起来(您将使用第一列)。

于 2013-06-30T14:34:03.980 回答