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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)