在数据框Question
之外,列Question$Temperature
,Question$Salary
,我只想选择Salary
高于10 Temperature
的{{1}}。我总是这样做:
Question[Question$Temperature>10]$Salary
有更清洁的方式吗?
答案 0 :(得分:1)
使用
效率更高Question$Salary[Question$Temperature > 10]
因为你不是整个数据框的子集,而是向量的值,
答案 1 :(得分:1)
基准测试的三种常用方法
l<-data.frame(x=sample(1:10,1000, replace=T), y=runif(1000))
f1<-function(df){l2=df[df$x>8,"y"]}
f2<-function(df){l2=df[df$x>8,]$y}
f3<-function(df){l2=df$y[df$x>8]}
print(microbenchmark(f1(l), f2(l), f3(l), times=1000))
结果
Unit: microseconds
expr min lq median uq max neval
f1(l) 97.428 101.378 102.696 107.962 3757.555 1000
f2(l) 247.081 253.226 257.614 270.780 734.659 1000
f3(l) 59.686 62.319 63.197 64.514 3793.980 1000