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

在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

已知数据集a1,有N行变量

新建数据集a2,b为列名

a1=data.frame(b=c('a','b','c','d','e'……))输入N个字符型变量

或者a1=data.frame(b=c(1,2,3,4,5……))输入N个数值型变量

将数据集a1和a2合并为数据集a3

a3=data.frame(a1,a2)。

注:数据集a1和a2的行数相等,都为N时才能合并。如果不相等,可以用无效值补齐:

假设a2只有5行,输入代码a2[6:N,]=NA,就可以补齐为N行,与a1进行合并。

Weight<-c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14)

Height<-c(1.75, 1.8, 1.65, 1.9, 1.74, 1.91, 1.75, 1.8, 1.65, 1.9)

save1<-data.frame(Weight,Height)

//身高体重数据写入文本文件

write.csv(save1, file = "foo1.csv", sep = ",", col.names = TRUE)

//读取数据至data数据框

foo<-read.csv("foo1.csv", header=T, sep=",")

//data数据框新增一列bmi变量

data.frame(Weight,Height,BMI=Weight/Height)

//计算weight和height的平方的比值存入bmi变量

save2<-data.frame(save1,BMI=foo$1/foo$2)

//将更新后的data数据框写入文件。

write.csv(save2, file = "foo2.csv", sep = ",", col.names = TRUE)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11921130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存