我是使用R的新手,以前一直在使用SAS进行所有工作。我正在努力将一些SAS逻辑转换为R,并希望对此有所帮助。在SAS中,我可以使用宏来拆分数据集并保留特定变量,并根据变量重命名结果数据集。例如:
%macro data_split (field);
data data_out_&field. (keep = policy_number date &field.);
set my_data;
run;
%mend;
%data_split(area1);
%data_split(surname);
%data_split(dob);
/ *
该代码将产生三个数据集: data_out_area1 data_out_surname data_out_dob 如keep语句所建议的,所有三个数据集都将具有变量“ policy_number”和“ date”。 另外,每个数据集将分别具有一个附加变量“ area1”,“ surname”和“ dob”。 输出数据集已经在宏“ data_split”中使用了变量名作为后缀。
* /
在R中,我可以执行以下操作:
data_out_area1 <- mydata$area1
data_out_surname <- mydata$surname
data_out_dob <- mydata$dob
但是,这样做会丢失列名。另外,也许更重要的是,如果我有一百个变量,我想避免写出一百次这些语句……是否有办法让我遍历数据框并创建一百个新数据集?