gpt4 book ai didi

r - R中的组切换语句

转载 作者:行者123 更新时间:2023-12-04 12:32:05 24 4
gpt4 key购买 nike

我有一个变量 i映射到一组类别。

我想设置变量 sector到匹配的类别,基于 i 的值.

我可以用一系列 if 来做到这一点声明如下:

    if(i %in% c(7, 14, 21)) {sector = 'mining'} 
if(i %in% c(28, 35, 42)) {sector = 'manu'}
if(i %in% c(49, 56, 63)) {sector = 'othr'}
if(i %in% c(70, 77, 84)) {sector = 'all'}

这似乎是应该有可用的分组开关类型结构的那种事情。 R中有这样的事情吗?

非常感谢

最佳答案

尝试这个:

L <- list(mining = c(7, 14, 12), 
manu = c(28, 35, 42),
other = c(49, 56, 63),
all = c(70, 77, 84))
names(Filter(function(x) i %in% x, L))

更新:关于 Ben 的评论,这里是一个短路版本。 (如果此评论的动机是速度,请注意 ?Position 说:“当前的实现未针对性能进行优化。”)
names(L)[ Position(function(x) i %in% x, L) ]

关于r - R中的组切换语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com