2016/11/02
2020/05/04
Rでベクトルにその要素が無いなら追加する関数
今回紹介するのは、Rでベクトルに要素を追加する関数です。Rで普通に要素を追加するのは、簡単ですよね。今回紹介する関数は、特別です。「追加元のベクトルの中身を参照して、追加したい要素がない場合は追加し、追加したい要素が既にある場合は、追加しない」というようなものです。
自作関数で、以下のようなプログラムになります。
※R言語入門のトップページはこちら
関数
notin_add <- function(data,ad_data)
{
if(any(data == ad_data) == FALSE)
{
data = c(data,ad_data)
}
return(data)
}
使い方
自作関数なので、まずはRに先ほどのプログラムを読み込ませましょう。
関数は
notin_add(追加元のベクトル,ベクトルに追加したい要素)
として使います。では、実際に使用例を見ていきましょう。
使い方説明のために、aという数字をいくつか格納したベクトルを作成します。
a <- c(1,3,7,9,11,13)
このベクトルに5や17を追加するには、
notin_add(a,5)
[1] 1 3 7 9 11 13 5
notin_add(a,17)
[1] 1 3 7 9 11 13 17
と記述することで、出来ます。
そして、例えば3を追加しようした場合、3は既にベクトルの要素に含まれているので、追加されず、
[1] 1 3 7 9 11 13
というように、元のベクトルのままとなります。
※R言語入門のトップページはこちら
最新投稿記事
-
AIプロジェクトの企画と失敗しない進め方を解説 2021年1月19日
-
AVILEN人材育成コース受講体験談:山田裕之さん「E資格の”その先”を目指して」 2021年1月8日
-
AI導入とは?RPAとの関係、プロセス、事例、メリット、費用を詳細に解説 2020年12月7日
-
注目のAI開発企業11社!支援領域や提供方法など検証! 2020年10月28日
-
AI人材を育成できる研修プログラムを一挙紹介! 2020年10月20日
-
【2021年版】期待のAI資格11選!就職・転職にも使える! 2020年10月18日
-
JDLAとは?G検定、E資格の認定プログラム、合格者の会など紹介! 2020年10月14日
-
G検定(2020#3)受験申し込み開始、11月7日(土)実施-JDLA 2020年10月1日
-
【独占】コロナ禍で人材登録急増、アノテーション単月売上高は4倍超-パソナJOB HUB 2020年10月1日
-
E資格を転職に活用!評判とデータを徹底調査! 2020年9月29日
週間ランキング
【2021年版】コスパ重視のG検定対策!おすすめの本・講座・教材を一挙紹介! 2020年6月6日
G検定に短期間・独学で合格した勉強法を解説! 2020年8月3日
【2021年版】期待のAI資格11選!就職・転職にも使える! 2020年10月18日
G検定は難しい?難易度・合格ライン・問題を徹底解説! 2020年6月19日
注目のAI開発企業11社!支援領域や提供方法など検証! 2020年10月28日
G検定に落ちた人、合格した人。勉強法の違いはどこにある? 2020年6月25日
最弱オセロを初めて攻略した天才オセロ高校生。負け方を解説! 2020年7月31日
【2021年版】E資格とは?大注目のディープラーニングの資格を解説! 2020年9月29日
E資格の難易度を、合格率と問題から徹底分析! 2020年8月11日
MLOpsとは|定義、メリット、課題、ツール、ワークフローを分かりやすく解説 2020年9月18日

COMMENT
-
r-de-r 2016.11.2 8:46 PM
notin_add2 <- function(data,ad_data) {
c(data, ifelse(ad_data %in% data, "", ad_data))
}
でもよいですね -
Take 2016.12.6 1:52 PM
notin_add3 <- function(data,ad_data){
return(unique(c(data,ad_data)))
}
とかでも動くと思います
r-de-r 2016.11.2 8:46 PM
notin_add2 <- function(data,ad_data) {
c(data, ifelse(ad_data %in% data, "", ad_data))
}
でもよいですね
Take 2016.12.6 1:52 PM
notin_add3 <- function(data,ad_data){
return(unique(c(data,ad_data)))
}
とかでも動くと思います