2017-09-26 21 views
-3

我有數據矩陣,看起來像這樣的數據子集:如何選擇基於字段值中的R

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數據框爲特定的列值,即我想Query_Source ='D'的'價值'條目,測量='infAP'的值[1..30] TOPIC_NUM

任何建議非常感謝。

回答

1

可以使用subset功能的邏輯索引。

# lets say df is your input data frame 
subset(df, Query_Source=='D' & Measure=='infAP' & TOPIC_NUM > 1 & TOPIC_NUM < 30) 

這將直接返回給你一個數據框。此外,您可以根據自己的喜好添加儘可能多的條件。使用

+0

由於桑迪,你能以及對數據進行排序? – WaterBoy

+1

您可以使用'訂單'功能進行排序。 'df2 < - df [order(yourcolumn),]'。 – 2017-09-26 05:05:02

+0

再次感謝。 – WaterBoy

1

我們可以創建子集「VALUE」(假設該數據集是data.frame

with(df1, VALUE[QUERY_SOURCE == "D" & MEASURE == "infAP" & TOPIC_NUM %in% 1:30]) 
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] 
相關問題