如果变量名包含特定短语

时间:2017-10-08 16:50:41

标签: r dummy-variable

我想创建一个新变量created_idx_var,如果变量名包含任何短语“idx”,“Idx”,“indx”,“Indx”,“index”,“Index”,则等于1 ,“etf”,“ETF”,或者如果变量索引等于“是”。

我刚开始学习R.我的第一步是消除数据集并仅保留股票基金。然后我想创建一个标志,看看基金是否是指数基金。我在网上搜索但找不到任何东西。

部分示例数据: enter image description here

到目前为止,这是我的代码。

library(readxl)
mydata <- read_excel("C:/category.xlsx",sheet = 1)
utils::View(mydata)
mydata <- subset(mydata, global_group=="Equity")

1 个答案:

答案 0 :(得分:0)

假设您有一个值向量:

x = c("idx", "a", "b","c", "Index")

然后,您可以创建一个二进制向量,如果匹配列表1(idx|Idx|indx|Indx|index|Index|etf|ETF)中的任何字符串,则0具有result = sapply(x, function(x) ifelse(grepl("idx|Idx|indx|Indx|index|Index|etf|ETF", x) == 1, 1, 0))

data EC
    input x e;
    datalines;
       2   3.2
       3   2.9
       4  -1.7
       5  -2.0
       6  -2.3
       7  -1.2
       8  -0.9
       9   0.8
      10   0.7
      11   0.5
    ;
    run;
    proc sqplot data = EC;
    scatter x = x y=residual;
    run;