如果我们有两个大小相同的列表,那么我们可以使用这些列表创建一个数据框,这可以在expand.grid函数的帮助下轻松完成。expand.grid函数根据提供的列表,向量或因子的所有组合创建一个数据框。例如,如果我们有两个定义为List1和List2的列表,则可以使用代码expand.grid(List1,List2)创建一个数据框。
请看以下列表-
List1<-as.list(sample(LETTERS[1:5],5,replace=TRUE)) List1
输出结果
[[1]] [1] "C" [[2]] [1] "D" [[3]] [1] "E" [[4]] [1] "D" [[5]] [1] "D"
List2<-as.list(sample(LETTERS[6:10],5,replace=TRUE)) List2
输出结果
[[1]] [1] "I" [[2]] [1] "J" [[3]] [1] "F" [[4]] [1] "I" [[5]] [1] "F"
使用List1和List2创建数据框-
df1<-expand.grid(List1,List2) df1
输出结果
Var1 Var2 1 C I 2 D I 3 E I 4 D I 5 D I 6 C J 7 D J 8 E J 9 D J 10 D J 11 C F 12 D F 13 E F 14 D F 15 D F 16 C I 17 D I 18 E I 19 D I 20 D I 21 C F 22 D F 23 E F 24 D F 25 D F
让我们看另一个例子-
List3<-as.list(c("India","China","USA","France","Germany")) List3
输出结果
[[1]] [1] "India" [[2]] [1] "China" [[3]] [1] "USA" [[4]] [1] "France" [[5]] [1] "Germany"
List4<-as.list(1:4) List4
输出结果
[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] 4
使用List3和List4创建数据框-
df2<-expand.grid(List3,List4) df2
输出结果
Var1 Var2 1 India 1 2 China 1 3 USA 1 4 France 1 5 Germany 1 6 India 2 7 China 2 8 USA 2 9 France 2 10 Germany 2 11 India 3 12 China 3 13 USA 3 14 France 3 15 Germany 3 16 India 4 17 China 4 18 USA 4 19 France 4 20 Germany 4