[英]how to store a subset of a data frame in another data frame based on some conditions
我有一个csv文件,其中基于2个城市的观测很少。 我添加了一个城市,分别为1和2。 我想在不同的城市创建2个单独的数据框。 我使用了2种方法。
y <- subset(x, x$code == 1)
y <- x[x$code ==1, ]
两条语句都成功执行,但是当我输入y数据框时,我仅获得列名作为具有0行的输出。
谁能帮我替代方法或指出我使用的方法中的错误?
Code city pickup_datetime pickup_date Hour Hour range
1 1 Chandigarh 24-03-2016 00:00 24-03-2016 0 00:00:00 - 01:00:00
2 1 Chandigarh 24-03-2016 01:45 24-03-2016 1 01:00:00 - 02:00:00
3 1 Chandigarh 24-03-2016 02:00 24-03-2016 2 02:00:00 - 03:00:00
4 1 Chandigarh 24-03-2016 03:15 24-03-2016 3 03:00:00 - 04:00:00
5 2 Ludhiana 24-03-2016 00:45 24-03-2016 0 00:00:00 - 01:00:00
6 2 Ludhiana 24-03-2016 01:46 24-03-2016 1 01:00:00 - 02:00:00
7 2 Ludhiana 24-03-2016 02:30 24-03-2016 2 02:00:00 - 03:00:00
data.frame':48磅。 20个变量中的每一个:$代码:int 1 1 1 1 1 1 1 1 1 1 1 ... $ city:因子w / 2级“ Chandigarh”,“ Ludhiana”:1 1 1 1 1 1 1 1 1 1 ... $ ickup_datetime:具有43个级别的因子“ 24-03-2016 00:00”,..:1 3 5 7 9 10 11 14 15 18 ... $ pick_datedate:具有1个级别的因子“ 24-03-2016” :1 1 1 1 1 1 1 1 1 1 ... ...小时:整数0 1 2 3 4 5 6 7 8 9 ... $小时。范围:具有24级的因子“ 00:00:00-01: 00:00“,..:1 2 3 4 5 6 7 8 9 10 ...
尝试这个:
y <- subset(x, x$Code == 1)
y <- x[x$Code ==1, ]
我会用
y <- subset(x, Code==1)
因为列名是“代码”而不是“代码”。 只需注意, subset
不需要x$Code
。
如果我们需要为每个“代码”创建两个数据集,我们就可以split
的data.frame
到list
的data.frame
秒。
lst <- split(x, x$Code)
如果需要将其作为全局环境中的单个data.frames,
list2env(setNames(lst, paste0("y", names(lst))),
envir= .GlobalEnv)
您可以尝试以下方法:
y<-data.frame(subset(x[x$Code==1,]))
其中,x-父数据帧,y-仅代码= 1的数据帧
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.