logo

Rで2つの配列の要素を比較하기 📂R

Rで2つの配列の要素を比較하기

概要

Rはデータの形や構造よりも内容に興味が強い分野でよく使われるため、その比較も便利だ。

包含関係

20190109\_120126.png (全く重要ではないが、例でAは三角数n(n+1)2\displaystyle {{n(n+1)} \over {2}}で、Bは四角数m2m^2を表している。)

二項演算子%in%を使って二つの配列を比較すると、Aの要素がBに属している場合は真、そうでない場合は偽を返す。文字列を分割する関数strsplit()とその応用を組み合わせることで、文字や単語の検索にも使える。

20190109\_124542.png

交差点と排他的和集合

20190109\_124805.png

intersect()関数とsetdiff()関数は、それぞれABA \cap BAB=(AB)(AB)A \triangle B = ( A \cup B ) \setminus ( A \cap B )を計算する。(やはり全く重要ではないが、113636は三角数でありながら四角数であることが分かる。)

コード

A<-((1:14)*(2:15))/2; A
B<-(1:10)^2; B
 
A %in% B
 
c("은") %in% strsplit("달변은 은이요 침묵은 금이다","")[[1]]
 
intersect(A,B)
 
setdiff(A,B)