我的数据如下:
QUERY_SOURCE FIELDS_SEARCHED SIMILARITY MEASURE TOPIC_NUM VALUE
D A bm25 infAP 1 0.008
D A bm25 infNDCG 1 0.0776
D A bm25 iP10 1 0.1
D A bm25 iP50 1 0.08
D A bm25 iP100 1 0.06
D A bm25 inum_rel_ret 1 6.0001
D A bm25 inum_rel 1 109.8145
D A bm25 num_ret 1 1000
D A bm25 infAP 2 0.0262
如何为特定列值选择数据系列到R DataFrame中,即我想要Query_Source ='D'的'Value'条目,Measure ='infAP'用于TOPIC_NUM的值[1..30] < / p>
任何建议都非常感谢。
答案 0 :(得分:1)
我们可以创建一个逻辑索引来对&#39; VALUE&#39;进行子集化。 (假设数据集是data.frame
)
with(df1, VALUE[QUERY_SOURCE == "D" & MEASURE == "infAP" & TOPIC_NUM %in% 1:30])
答案 1 :(得分:1)
您可以使用subset
功能。
# lets say df is your input data frame
subset(df, Query_Source=='D' & Measure=='infAP' & TOPIC_NUM > 1 & TOPIC_NUM < 30)
这会直接返回一个数据框。此外,您可以根据自己的喜好添加任意数量的条件。
答案 2 :(得分:0)
使用dplyr
df%>%filter(QUERY_SOURCE == "D" & MEASURE == "infAP" & TOPIC_NUM %in% 1:30)%>%select(VALUE)
使用data.table
df1[QUERY_SOURCE == "D" & MEASURE == "infAP" & TOPIC_NUM %in% 1:30,VALUE]