我的数据框中包含唯一值,如下所示
red
green
blue
yellow
我有另一个颜色和其他列的数据框如下
red 1 4
green 2 4
blue 2 5
yellow 1 7
red 54 35
green 25 54
blue 33 66
yellow 63 63
blue 22 99
yellow 80 25
red 26 33
green 16 17
我需要创建数据帧,这些数据帧是使用每种颜色(使用颜色命名的数据帧)来搜索行的结果,例如:
dfred
red 1 4
red 54 35
red 26 33
dfyellow
yellow 1 7
yellow 63 63
yellow 80 25
dfblue
blue 2 5
blue 33 66
blue 22 99
dfgreen
green 2 4
green 25 54
green 16 17
我可以通过认为这是一种更简单的方法逐一做到这一点。这可以在函数中完成吗?
我真的不知道如何将每个grep短语替换为输出这样一个命名数据帧的函数
答案 0 :(得分:2)
我们可以使用split
创建list
data.frame
个
lst <- split(df2, as.character(df2$col1))
names(lst) <- paste0('df', names(lst))
然后使用list2env
在全局环境中创建单个对象(不推荐使用)
list2env(lst, envir = .GlobalEnv)
dfred
# col1 col2 col3
#1 red 1 4
#5 red 54 35
#11 red 26 33