在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

数据准备

1、通过表达式赋值创建

变量名←表达式

以上语句中的"表达式"部分可以包含多种运算符和函数。

2、通过transform函数创建

为原数据框添加新的列,可以改变原变量列的值,也可以赋值NULL删除列变量

transform( _data , ...)

data:要修改的数据;

...:进行修改的内容。

1、variable[condition] <- expression

语句variable[condition] <- expression将仅在condition的值为TRUE时执行赋值。

2、使用within函数进行转化

within(data, expr, ...)

data:要处理的数据;

expr:计算表达式。

1、fix()函数

使用fix()函数调用交互式编辑器修改变量名。例如,要修改df数据集p8列的变量名称为v5,运行fix(df)结果如下:

edit和fix的区别

edit()函数也可以调出交互式编辑器,修改数据后关闭窗口发现数据还是原来的值,所以需要进行赋值 *** 作才能保存修改结果,比如我的数据修改可以写为df <- edit(df)。 fix()函数调出的交互式编辑器,修改数据后关闭窗口发现已经保存了修改后的值,不需要赋值 *** 作。

2、reshape包 rename()函数

rename(dataframe, c(oldname="newname", oldname="newname", ...))

dataframe:要修改的数据框;

oldname="newname":指定修改前变量名和修改后变量名。

3、names()函数重命名变量名

参考资料:

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)


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

原文地址:https://54852.com/bake/11750187.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存