R中的函数edit()会自动调用一个允许手动输入数据的文本编辑器。具体步骤如下:
(1)创建一个空数据框(或矩阵),其中变量名和变量的模式需要与理想中的最终数据集一致;
(2)针对这个数据对象调用文本编辑器,输入数据,并将结果保存回此数据对象中。
举例:创建一个名为mydata的数据框,它含有四个变量:id(数值型)、age(数值型)、gender(字符型)、weight(数值型),然后将调用文本编辑器,键入数据,最后保存结果:
> mydata <- data.frame( id=numeric(0), age=numeric(0), gender=character(0), weight=numeric(0) )
> mydata <- edit( mydata )
注:编辑的结果需要赋值回对象本身。函数edit()事实上是在对象的一个副本上进行操作的。如果不将值赋值到一个目标,所有的修改将会全部丢失。
注:单击列的标题,可以用编辑器修改变量名和变量类型(数值型、字符型)。也可以通过单击未使用的列的标题来添加新的变量。
类似于age=numeric(0)的赋值语句将创建一个指定模式但不含实际数据的变量。编辑器关闭后,结果会保存到之前赋值的对象中。再次调用mydata <- edit( mydata ),就能够编辑已经输入的数据并添加新的数据。语句mydata <- edit( mydata )的一种便捷的等价写法是fix(mydata)。
这种输入数据的方式对于小数据集很有效。