我有一个带有大量数据的CSV,如下所示:
> test.csv <- read.csv("~/Desktop/stats.csv")
> test.csv
m lvl a b c a_pct b_pct c_pct d_pct
1 543557 2A 13 255 59.6666667 18.8 10.2 1.6 5.1
2 545059 2A 0 19 4.0000000 15.8 15.8 5.3 10.5
我希望能够使用a_pct
执行类似hist(test.csv$a_pct)
的直方图,但仅限于符合条件的行,例如c_pct
&gt; 20或c
&lt; 200等等。排序类似于SQL WHERE子句。有没有办法在R中轻松完成这项工作?
答案 0 :(得分:2)
试试这个:
hist(test.csv[test.csv$c_pct > 20 | test.csv$c < 200, "a_pct"])
两个注释:
|
代替||
,因为前者是矢量化的。答案 1 :(得分:2)
一个简单的方法就是:
with( test.csv, hist( a_pct[ c_pct > 20 ] ) )
答案 2 :(得分:1)
你看过吗?子集
hist(subset(test.csv, c_pct > 20 | c < 200, select=a_pct))