r语言中添加新列的方法:
假设你数据是data,那么前几列的和是rowSums(data);
然后你可以重新做一个dataframe
data_new<-data.frame(data,sum=rowSums(data))
R语言Data Frame数据框常用操作:
Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的。
Data Frame每一列有列名,每一行也可以指定行名。如果不指定行名,那么就是从1开始自增的Sequence来标识每一行。
使用data.frame函数就可以初始化一个Data Frame。比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为:
student<-data.frame(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"),Birthdate=c("1984-12-29","1983-5-6","1986-8-8”))
另外也可以使用read.table() read.csv()读取一个文本文件,返回的也是一个Data Frame对象。读取数据库也是返回Data Frame对象。
查看student的内容为:
ID Name Gender Birthdate
1 11 Devin M 1984-12-29
2 12 Edward M 1983-5-6
3 13 Wenli F 1986-8-8
这里只指定了列名为ID,Name,Gender和Birthdate,使用names函数可以查看列名,如果要查看行名,需要用到row.names函数。这里我们希望将ID作为行名,那么可以这样写:
row.names(student)<-student$ID
公众号的读者留言问答的问题,首先他的数据集如下
1 这个是数据集按行求平均
2 这个是数据集中按行求标准差
3 这个公式的计算方法是先按照行求平均值得到一个向量a,按行求标准差得到一个向量b,最后是按照列来进行abs(x-a)/b
4 这个公式就是把3得到的新数据集按照行求和然后再除以数据的维度
readxl 包用来读取数据
tidyverse 用来操作数据
readxl 中的 read_excle() 函数好像没有指定某一列作为行名的函数,所以我给原始数据添加一个表头
读取数据
小明的数据分析笔记本
1.导入数据install.packages('xslx')
library(xlsx)
Sys.setlocale("LC_ALL", "zh_cn.utf-8")
a=read.xlsx2('d:/1.xlsx',1,header=F)
2.计算平均值
数据集a中有变量:因变量y,自变量x
install.packages('Rmisc')
library(Rmisc)
单因素:求y的平均值,以x为分类变量
a1=summarySE(a,measurevar='y', groupvars=c('x'))
双因素:求y的平均值,以x1和x2为分类变量
a1=summarySE(a,measurevar='y', groupvars=c('x1','x2'))
如果是简单数据,数据集a中有变量:只有因变量y,没有自变量x。求y的平均值代码如下:
mean(a$y)