我想创建一个新变量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")
答案 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;