【发布时间】:2020-06-15 01:27:41
【问题描述】:
我对 r 还很陌生,所以这可能是一个愚蠢的疑问。
我有一个数据框,我想在其中循环浏览特定列中的行并检查其中的名称是否在另一个变量中。虽然,每一行中的值可能有多个用分号分隔的名称。我需要检查每一个。我尝试了一个嵌套循环,但我得到了重复值的列表。我的代码描述如下:
# Column in df I want to modify:
company.tickers
----------
CARD3
CSAN3
CVCB3
ELET3;ELET5;ELET6
ENBR3
FESA3;FESA4
OIBR3;OIBR4
PETR3;PETR4
PTBL3
TUPY3
VLID3
# stock names I would like to keep
stocks <- c("CARD3", "TUPY3", "OIBR3", "FESA4", "PTBL3", "VLID3","CNTO3","CSAN3","ELET3","PETR4","ENBR3")
result=list()
# Cycle through rows
for (i in 1:length(df.statements$company.tickers)){
print(df.statements$company.tickers[i])
stock.tickers <- strsplit(row,";")
# Cycle through names in a cell
for (j in 1:length(stock.tickers)) {
if (stock.tickers[j] %in% stocks){
print(stock.tickers[j])
result <- c( result, stock.tickers[j])
}
}
}
# My expected result is the following column:
company.tickers
----------
CARD3
CSAN3
CVCB3
ELET3
ENBR3
FESA4
OIBR3
PETR4
PTBL3
TUPY3
VLID3
【问题讨论】: