使用cbind创建一个columnar.csv文件,但是';X';始终显示在第一行中

使用cbind创建一个columnar.csv文件,但是';X';始终显示在第一行中,r,csv,cbind,R,Csv,Cbind,我有一个脚本工作得很好,除了在我的R cbind操作中,在第一行中我需要的数值旁边是一个“X” 这是我的剧本: library(ncdf) library(Kendall) library(forecast) library(zoo) setwd("/home/cohara/RainfallData") files=list.files(pattern="*.nc") j=81 for (i in seq(1,9)) { file<-open.ncdf(sprintf(

我有一个脚本工作得很好,除了在我的R cbind操作中,在第一行中我需要的数值旁边是一个“X”

这是我的剧本:

library(ncdf)
library(Kendall)
library(forecast)
library(zoo)
setwd("/home/cohara/RainfallData")

files=list.files(pattern="*.nc")

j=81
for (i in seq(1,9))
{
        file<-open.ncdf(sprintf("/home/cohara/RainfallData/%s.nc",i))
        year<-get.var.ncdf(file,"time")
        data<-get.var.ncdf(file,"var61")
        fit<-lm(data~year)              #least sqaures regression
        mean=rollmean(data,4,fill=NA)
        kendall<-Kendall(data,year)
        write.table(kendall[[2]],file="/home/cohara/RainfallAnalysis/Kendall_p-value_for_10%_increase_over_81_-_89_years.csv",append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
        write.table(kendall[[1]],file="/home/cohara/RainfallAnalysis/Kendall_tau_for_10%_increase_over_81_-_89_years.csv",append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
        png(sprintf("./10 percent increase over %s years.png",j))
        par(family="serif",mar=c(4,6,4,1),oma=c(1,1,1,1))
        plot(year,data,pch="*",col=4,ylab="Precipitation (mm)",main=(sprintf("10 percent increase over %s years",j)),cex.lab=1.5,cex.main=2,ylim=c(800,1400),abline(fit,col="red",lty=1.5))
        par(new=T)
        plot(year,mean,type="l",xlab="year",ylab="Precipitation (mm)",cex.lab=1.5,ylim=c(800,1400),lty=1.5)
        legend("bottomright",legend=c("Kendall tau = ",kendall[[1]]))
        legend("bottomleft",legend=c("Kendall 2-tailed p-value = ",kendall[[2]]))
        legend(x="topright",c("4 year moving average","Simple linear trend"),lty=1.5,col=c("black","red"),cex=1.2)
        legend("topleft",c("Annual total"),pch="*",col="blue",cex=1.2)
        dev.off()
        j=j+1
}
tmp<-read.csv("/home/cohara/RainfallAnalysis/Kendall_p-value_for_10%_increase_over_81_to_89_years.csv")
tmp2<-read.csv("/home/cohara/RainfallAnalysis/Kendall_p-value_for_10%_increase_over_81_-_89_years.csv")
tmp<-cbind(tmp,tmp2)
tmp3<-read.csv("/home/cohara/RainfallAnalysis/Kendall_tau_for_10%_increase_over_81_to_89_years.csv")
tmp4<-read.csv("/home/cohara/RainfallAnalysis/Kendall_tau_for_10%_increase_over_81_-_89_years.csv")
tmp3<-cbind(tmp3,tmp4)
write.table(tmp,"/home/cohara/RainfallAnalysis/Kendall_p-value_for_10%_increase_over_81_to_89_years.csv",sep="\t",row.names=FALSE)
write.table(tmp3,"/home/cohara/RainfallAnalysis/Kendall_tau_for_10%_increase_over_81_to_89_years.csv",sep="\t",row.names=FALSE)
我希望能够在数据上使用excel函数,因此,为了简单起见,我不需要行名称(我可能会运行此循环一百次),但我需要列名,因为否则第一组值将被切断

谁能告诉我“X”是从哪里来的以及如何摆脱它

提前感谢,,
希拉

以下是我认为正在发生的事情。首先运行以下小示例:

df1 <- read.csv(text = "0.0190228056162596, 0.000701081415172666
0.0395622998,    0.00531819
0.0126547674,    0.0108218994")

df2 <- read.csv(text = "0.0190228056162596, 0.000701081415172666
0.0395622998,    0.00531819
0.0126547674,    0.0108218994", header = FALSE)

df1
df2
str(df1)
str(df2)
names(df1)
names(df2)

make.names(c(0.0190228056162596, 0.000701081415172666))

df1是的,我知道这是一篇n00b文章,但为什么不说“您需要指定
header=FALSE
”?
df1 <- read.csv(text = "0.0190228056162596, 0.000701081415172666
0.0395622998,    0.00531819
0.0126547674,    0.0108218994")

df2 <- read.csv(text = "0.0190228056162596, 0.000701081415172666
0.0395622998,    0.00531819
0.0126547674,    0.0108218994", header = FALSE)

df1
df2
str(df1)
str(df2)
names(df1)
names(df2)

make.names(c(0.0190228056162596, 0.000701081415172666))