Ben*_*ley 7 r subset dataframe
我想在不引用数据帧的情况下有条件地对数据帧进行子集化.例如,如果我有以下内容:
long_data_frame_name <- data.frame(x=1:10, y=1:10)
Run Code Online (Sandbox Code Playgroud)
我想说:
subset <- long_data_frame_name[x < 5,]
Run Code Online (Sandbox Code Playgroud)
但相反,我不得不说:
subset <- long_data_frame_name[long_data_frame_name$x < 5,]
Run Code Online (Sandbox Code Playgroud)
plyr和ggplot处理得非常漂亮.是否有任何软件包可以使数据框的子集同样美观?
Jos*_*ien 10
听起来你正在寻找data.table包,它实现了索引语法,就像你描述的那样.(data.table对象基本上data.frame是带有附加功能的,所以你几乎可以在任何使用"普通旧"data.frame的地方继续使用它们.)
该软件包的作者Matthew Dowle [.data.table()在回答这个流行的SO [r] -tag问题时论证了索引语法的优点.他的回答也可以写成对你上述问题的直接回答!
这是一个例子:
library(data.table)
long_data_table_name <- data.table(x=1:10, y=1:10)
subset <- long_data_table_name[x < 5, ]
subset
# x y
# 1: 1 1
# 2: 2 2
# 3: 3 3
# 4: 4 4
Run Code Online (Sandbox Code Playgroud)
是:
newdata <- subset(mydata, sex=="m" & age > 25)
Run Code Online (Sandbox Code Playgroud)
要么
newdata <- subset(mydata, sex=="m" & age > 25 , select=weight:income)
Run Code Online (Sandbox Code Playgroud)
参考:http: //www.statmethods.net/management/subset.html
| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |