读取forclass.csv
> data<-read.csv(file.choose()) #选择forclass.csv文件,读入数据
> head(data) #数据过多,这里使用head()函数展示前六行
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
4 64 6 1 1
5 76 8 1 1
6 93 10 1 1
行数
> nrow(data)
[1] 578
列数
> ncol(data)
[1] 4
各列列名
> colnames(data)
[1] "weight" "Time" "Chick" "Diet"
加编号
> r<-nrow(data) #获取总共的行数并存入变量中
> no<-1:r
> nos<-paste("c",no,sep="") #将c作为开头,利用paste函数在c后面加上数字作为编号
> data1<-data.frame(no=nos,data)
> head(data1) #数据过多,这里使用head()函数展示前六行
no weight Time Chick Diet
1 c1 42 0 1 1
2 c2 51 2 1 1
3 c3 59 4 1 1
4 c4 64 6 1 1
5 c5 76 8 1 1
6 c6 93 10 1 1
注:paste()函数:
paste (..., sep = " ", collapse = NULL)
#参数
... 一个或多个字符型的R对象
sep 一个字符串用于分隔。不可以是NA。注意:空格不代表为空!
collapse 用于分隔结果的字符串(可选)。不可以是NA。
把每行所有的数值变成字符,然后连接到一起,形成新的一列放到最右边
> a1<-as.character(data1[,1])
> a2<-as.character(data1[,2])
> a3<-as.character(data1[,3])
> a4<-as.character(data1[,4])
> a5<-as.character(data1[,5])
> paste(a1,a2,a3,a4,a5,sep="")
> > data2<-data.frame(data1,result=paste(a1,a2,a3,a4,a5,sep=""))
> head(data2) #数据过多,这里使用head()函数展示前六行
no weight Time Chick Diet result
1 c1 42 0 1 1 c142011
2 c2 51 2 1 1 c251211
3 c3 59 4 1 1 c359411
4 c4 64 6 1 1 c464611
5 c5 76 8 1 1 c576811
6 c6 93 10 1 1 c6931011