2017-04-16 77 views
0

快问多个条件 - 我有一个数据帧(严重),看起来像,提取的值基于R中

    industryType relfreq relsev 
1    Consumer Products 2.032520 0.419048 
2     Biotech/Pharma 0.650407 3.771429 
3  Industrial/Construction 1.327913 0.609524 
4 Computer Hardware/Electronics 1.571816 2.019048 
5    Medical Devices 1.463415 3.028571 
6      Software 0.758808 1.314286 
7  Business/Consumer Services 0.623306 0.723810 
8    Telecommunications 0.650407 4.247619 

,如果我想拉医疗器械(第5行)的relfreq - 怎么可能我只是那个价值的子集?

我想只是索引和做严重性$ relfreq [[5]],但我会用一个更大的功能这条线,其中用户将指定的行业即

example <- function(industrytype) { 
    weight <- relfreq of industrytype parameter 

    thing2 <- thing1*weight 
    return(thing2) 
} 

所以,如果我通过索引做子集,有没有一种方法可以知道哪个索引对应于函数参数中指定的行业类型?还是更容易/一种方法只是按照行业名称对relfreq列进行分类?

回答

0

我认为选择整行更好,然后选择你想看到的列。

frame <- severity[severity$industryType == 'Medical Devices',] 
frame$relfreq 
0

您需要先选择感兴趣的行然后保留您请求的2列(industryType和relfreq)。 有一个很大的包,让您与tidyverse library(tidyverse)

data_want <- severity %>% subset(industryType =="Medical Devices") %>% select(industryType, relfreq)

在这里,你看从左至右与%>%作为结果传递给下一个步骤,就好像嵌套直观地做到这一点。