0
おはよう
1)Excelのマッチ機能に似たR機能はありますか?Rの機能はExcelと同じですか?
2)私は以下のように自分自身を作っています(長すぎます..TT)
誰かが改善する必要があると提言できますか?または他の方法ですか?
fmatch2<-function(ss1, ss2) { #ss1 correspond the first argument of Excel match function. ss2 for the second.
fmatch<-function(ii,ss) { # return location in ss where ii match.
if (length(which(ss==ii))>0) {
rr<- min(which(ss==ii))
} else {
if (length(which(ss>ii))>0)
{rr<-min(which(ss>ii))-1 }
}
return(rr)
}
rr<-list()
n<-1
for (x in ss1) { # apply fmatch to each member in ss1
nn<-fmatch(x,ss2[1:n])
rr<-rbind(rr,nn)
n<-n+1
}
as.vector(unlist(rr[,1]))
}
以下の関数fmatch2の使用法。
Excel "= MATCH(H1、$ I $ 1:1,1)"を模倣しています。 "ch、ci"以下のリストの要素名は、列H、列Iに対応します。結果はcnという名前のリストになります。
x<-data.frame(cf=c(0,1,2,3,4,5),ch=c(0,0,3,6,6,6),ci=c(0,0,3,7,11,13))
y<-data.frame(cf=c(0,1,2,3,4,5),ch=c(0,0,3,6,6,6),ci=c(0,0,3,7,11,13),cn=fmatch2(x[[2]],x[[3]]))
は 'match'助けていますか?最初の一致のみを返します。それ以外の場合は、 '?grep' –
一致のインデックス(つまり、どの行に一致するもの)を見つけようとしていますか? – akash87
Excelの 'match'(https://support.office.com/en-us/article/MATCH-function-e8dffd45-c762-47d6-bf89-533f4a37673a)の文書を読むと、それは実際には2つに相当するようですRの関数: 'match_type'が0のときは' match'、デフォルト値のときは 'findInterval'です。 OP、 '?findInterval'を見てください。 – nicola