2017-08-14 61 views
0

我试图按行名称和列名拾取特定值。 我有一个df看起来像这样,我不允许更改列名称。R:调用特定列

 
    OA OB OC OD 
OA - E C G 
OB C - J L 
OC A A - A 
OD A B B A 

例如,行= OA和col = OB将返回E,行= OD和col = OB将返回B. 我试图df["OA", "OB"]这是在下面的,但它并没有返回任何东西。

+0

如果使用data.frame而不是tbl_df,则df [“OA”,“OB”]'将按需要工作。你可以使用'as.data.frame'将其转换为data.frame。 – lmo

回答

0

是否允许使用坐标子集?

如...

OAOB<-df[1,2] 
##this will give you the value "E" 

使用您的DF的名称,然后按[行,列]您是否使用了data.table库坐标

+0

df [1,2]给了我 #A tibble:1 x 1 OA 1 - – Marie

0

#Opens data.table if not already open 
require(data.table) 

#Just creates the data as above 
OA <- c("-", "C", "A", "A") 
OB <- c("E", "-", "A", "B") 
OC <- c("C", "J", "-", "B") 
OD <- c("G", "L", "A", "A") 

#Puts it all together 
DT <- as.data.table(cbind(OA, OB, OC, OD)) 

#Makes the proper row names 
row.names(DT) <- c("OA", "OB", "OC", "OD") 

View(DT) 

#Row OA, Col OB 
DT[1,2] 

#Row OD, Col OB 
DT[4,2] 

看看是否适合你!只需复制并粘贴到您的控制台。