1.txt文件可以转换成csv文件,通过rstudio软件导入数据。
2.在软件中输入view(导入的csv文件名例如(isis)),可以显示类似excel的数据形式。可以通过edit(isis)对原来的数据进行修改,如果想得到修改后的数据必须把edit(isis)赋值给新的文件,可以去数据的前20行记录,data<-isis[1:20,](注意数据是2维的),也可以取特定的属性(x)的前20条记录,data<-isis[1:20,x].
如果需要抽取所有数据的Sepal.Width变量,那么下面两个命令是等价的:
newdata=data[,2]
newdata=data$Sepal.Width
例如需要将所有样本的Sepal.Width变量都放大10倍,我们先将原数据进行一个复制,再用$符号来提取运算对象即可:
newdata=data
newdata$Sepal.Width=newdata$Sepal.Width*10
最常用的就是summary命令,运行summary(data)得到结果如下:对于数值变量计算了五个分位点和均值,对于分类变量则计算了频数
我们想计算不同种类花瓣的平均宽度,可以使用tapply函数,在计算前先用attach命令将data这个数据框解包以方便直接操作其变量,而不需再用$符号。
attach(data)
tapply(X=Petal.Width,INDEX=Species,FUN=mean)注意:字母大小写
和tapply类似的还有sapply函数,在进一步讲解前初学者还需搞清楚两种数据表现方式,即stack(堆叠数据)和unstack(非堆叠数据),上面的data就是一个堆叠数据,每一行表示一个样本。而非堆叠数据可以根据unstack函数转换而来
data.unstack=unstack(data)
head(data.unstack)
你应该明白这二者之间的区别了,如果要对非堆叠数据计算不同种类花瓣的平均宽度,可以利用如下函数。
sapply(data.unstack,FUN=mean)结果是一样的,也就是说tapply对应于stack数据,而sapply对应于unstack数据
当需要从数据集中随机取出任意条记录(假如50条)有如下命令可以实现
1.isis[sample(150, 50), ]
2.dsmall <- isis[sample(nrow(isis), 50), ]
上面是无放回的,下面的命令是有放回的
1.isis[sample(150, 50,replace = T), ]
2. yy <- sample(nrow(isis),50,replace = T)
> isis[yy,]
当需要把一个数据集划分为训练集和测试集(一般3:1),需要下面的命令
> train_sub <- sample(nrow(isis),3/4*nrow(isis))
> train_data <- isis[train_sub,]
> train_test <- isis[-train_sub,]