简单的问题-我有一个数据(严重程度)看起来,
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
如果我想要提取医疗设备的relfreq (第5行)--我怎么能只提取这个值呢?
我在考虑索引和执行严重性$relfreq[5],但是我会在一个更大的函数中使用这一行,用户可以指定行业,即
example <- function(industrytype) {
weight <- relfreq of industrytype parameter
thing2 <- thing1*weight
return(thing2)
}
所以,如果我用一个索引做子集,那么R会知道哪个索引对应于函数参数中指定的行业类型吗?还是用行业名称对relfreq列进行子集比较容易呢?
发布于 2017-04-16 20:16:46
我认为选择整行比较好,然后选择你想要看到的列。
frame <- severity[severity$industryType == 'Medical Devices',]
frame$relfreq
发布于 2017-04-16 21:50:33
您需要首先选择感兴趣的行,然后保留所请求的2列(industryType和relfreq)。有一个很好的包可以让您直观地使用tidyverse library(tidyverse)
来完成这个任务。
data_want <- severity %>% subset(industryType =="Medical Devices") %>% select(industryType, relfreq)
在这里,您从左到右阅读,%>%
充当将结果传递到下一个步骤,就像嵌套一样。
https://stackoverflow.com/questions/43441646
复制相似问题