[问题类型]:
效能咨询(我想让R 跑更快)
[软件熟悉度]:
请把以下不需要的部份删除
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
请简略描述你所要做的事情,或是这个程式的目的
手上有两个档案,分别是参照表以及原始档
其中一个参照表为
EX:
档案DT
1 ^123.* A
2 ^234.* B
.
.
.
原始档为
档案DT2
1. 123456
2. 23456
经由比对可以发现
1.=>为A
2.=>为B
[你的答案]:
我的写法是用循环方式然后
想请问有没有更好的写法
ansewer <- c()
for (i in 1:nrow(DT))
{
ind <- grepl(DT[i, 1, with=F], DT2)
for(j in which(ind==1))
{
ansewer[j] <- ifelse(TYPE[j]==0, DT2[i],ansewer[j] )
}
}
[关键字]:
grepl