在r语言中,怎样在数据框中添加新列?

Python09

在r语言中,怎样在数据框中添加新列?,第1张

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

>x<-matrix(c(1,1,2,1,2,3,4,1),4,2)

>x

[,1] [,2]

[1,]12

[2,]13

[3,]24

[4,]11

>length(which((x[,1]==1)))

[1] 3

>length(which((x[,2]==1)))

[1] 1

#x[,1]==1判断是否为1,返回True或False

# which((x[,1]==1))返回为True的行号

#length(which((x[,1]==1)))返回为True的行数,即1的个数

最简单的方法就是每次引用时把写好的函数复制一下,到R console 中,然后写其他的。然后,编好的函数写成.r 文件,下次直接使用命令 source(function.r)就能导入使用了.