首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中基于多个条件的值提取

R中基于多个条件的值提取
EN

Stack Overflow用户
提问于 2017-04-16 20:10:18
回答 2查看 997关注 0票数 1

简单的问题-我有一个数据(严重程度)看起来,

代码语言:javascript
运行
复制
                    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],但是我会在一个更大的函数中使用这一行,用户可以指定行业,即

代码语言:javascript
运行
复制
example <- function(industrytype) {
   weight <- relfreq of industrytype parameter

   thing2 <- thing1*weight
   return(thing2)
 }

所以,如果我用一个索引做子集,那么R会知道哪个索引对应于函数参数中指定的行业类型吗?还是用行业名称对relfreq列进行子集比较容易呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-16 20:16:46

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

代码语言:javascript
运行
复制
frame <- severity[severity$industryType == 'Medical Devices',]
frame$relfreq
票数 0
EN

Stack Overflow用户

发布于 2017-04-16 21:50:33

您需要首先选择感兴趣的行,然后保留所请求的2列(industryType和relfreq)。有一个很好的包可以让您直观地使用tidyverse library(tidyverse)来完成这个任务。

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

在这里,您从左到右阅读,%>%充当将结果传递到下一个步骤,就像嵌套一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43441646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档