从大型现有df中提取R中的新df
在R中,我尝试使用我称之为“gorilla”的df,并通过列标识符创建四个新的dfs。“gorilla”电子表格有一个名为“order”的列,该列的值为1、2、3和4。我想创建一个只带有“1”值的新df,另一个只带有“2”值的df,等等。这样做的最佳方法是什么?如果您这样做:从大型现有df中提取R中的新df,r,R,在R中,我尝试使用我称之为“gorilla”的df,并通过列标识符创建四个新的dfs。“gorilla”电子表格有一个名为“order”的列,该列的值为1、2、3和4。我想创建一个只带有“1”值的新df,另一个只带有“2”值的df,等等。这样做的最佳方法是什么?如果您这样做: list2env(设置名称(拆分(gorilla,gorilla$order),粘贴0(“gorilla”,1:4)), envir=globalenv()) 然后,您的工作区中将有4个数据帧,分别称为gorilla1、
list2env(设置名称(拆分(gorilla,gorilla$order),粘贴0(“gorilla”,1:4)),
envir=globalenv())
然后,您的工作区中将有4个数据帧,分别称为gorilla1
、gorilla2
、gorilla3
和gorilla4
例如,如果我们有此数据集:
set.seed(100)
大猩猩数据顺序
#> 1 -0.50219235 3
#> 2 0.13153117 4
#> 3 -0.07891709 2
#> 4 0.88678481 1
#> 5 0.11697127 4
#> 6 0.31863009 3
#> 7 -0.58179068 3
#> 8 0.71453271 4
#> 9 -0.82525943 2
#> 10 -0.35986213 1
我们可以做到:
list2env(设置名称(拆分(gorilla,gorilla$order),粘贴0(“gorilla”,1:4)),
envir=globalenv())
#>
现在我们可以看到这些对象可用:
大猩猩1
#>数据顺序
#> 4 0.8867848 1
#> 10 -0.3598621 1
大猩猩2
#>数据顺序
#> 3 -0.07891709 2
#> 9 -0.82525943 2
大猩猩3
#>数据顺序
#> 1 -0.5021924 3
#> 6 0.3186301 3
#> 7 -0.5817907 3
大猩猩4
#>数据顺序
#> 2 0.1315312 4
#> 5 0.1169713 4
#> 8 0.7145327 4
请注意,在大多数情况下,最好将数据帧保存在列表中:
gorillas <- split(gorilla, gorilla$order)
gorillas选择分组
library(dplyr)
gorillas <- gorilla %>%
group_split(order)
库(dplyr)
大猩猩%
分组(订单)
这些都非常有用!我只是查看了我的gorilla df,发现我的“Order”列中的值不是数字——例如,这是我的“Order”列中的一个值:“HH-LH-HL-LL”。是否有一种方法可以使此代码适用于我希望分离此df的感兴趣列中的非数值?