r语言如何添加一列变量

Python012

r语言如何添加一列变量,第1张

已知数据集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进行合并。

可能稍微有点麻烦。。。比如在向量v=(v[1],v[2],...,v[n])的第i个元素前加一个元素x变成(v[1],v[2],...,v[i-1],x,v[i],v[i+1],...,v[n])可以这样:

v<-c(v[1:(i-1)],x,v[i:length(v)])

通常情况下,我们会在excel中对数据进行预处理,然后将处理好的数据导入R中进行分析、作图。但随着数据源和数据格式的多样化,将多种数据源和数据格式导入R中进行分析、作图显得尤为必要,因为这对于数据分析、作图是最基础的。

R可导入键盘(利用键盘输入)、文本文件、excel、access、spss、sas等各类数据格式。

利用R中的edit()函数手动输入数据的文本编辑器:

(1)创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致;

(2)针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。

函数edit()事实上是在对象的一个副本上进行操作的。若不将其赋值到一个目标,则所有修改将会全部丢失!

用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。

参数sep允许你导入那些使用逗号以外的符号来分隔行内数据的文件。你可以使用sep="\t"读取以制表符分隔的文件。此参数的默认值为sep="",即表示分隔符可为一个或多个空格、制表符、换行符或回车符。

我习惯用readxl包的read_excel()函数进行导入:

SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc包中的spss.get()函数。

use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子。

R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd()和Hmisc包中的sas.get()。这里我们使用sas7bdat包的read.sas7bdat()函数进行导入sas数据。

Robert I. Kabacoff (著). R语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.