【问题标题】:R create new data.frame from old one according to column values [duplicate]R根据列值从旧的data.frame创建新的data.frame [重复]
【发布时间】:2015-03-13 11:19:00
【问题描述】:

我有这个简单的data.frame

x=c(1,2,3,4,5,6)
y=c(5,6,1,2,4,5)
z=c(1,1,1,2,2,2)

data=data.frame(x,y,z)

我想得到

数据1=

  x y z
1 1 5 1
2 2 6 1
3 3 1 1

数据2=

  x y z
4 4 2 2
5 5 4 2
6 6 5 2

根据Z值

【问题讨论】:

  • 试试split 即。 split(data, data$z) 并使用 list2env 如果您需要单独的 data.frame 对象。 IE。 list2env(setNames(split(data, data$z), paste0('data',1:2)), envir=.GlobalEnv)
  • 您可以找到有用的答案hereherehere
  • 太好了,谢谢大家
  • 使用子集,例如子集(data, z==1)

标签: r


【解决方案1】:

试试这个

split(data, z)

这是一个列表

【讨论】:

  • list <- split(data, data$z) A <- list[[1]] B <- list[[2]],可以访问新的data.frames
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多