0
rのコードで排他的な完全結合を実装しようとしています。排他的完全な結合でr
は正常に動作しますが、フィルターが条件の多くを満たしているので、正しいアプローチであり、以下のコードを実装しました。これはサンプルコードであるため、多くの列は追加されませんでしたが、リアルタイムのシナリオでは多くの列があり、フィルタリングするために列を追加すると処理が難しくなります。
その他の方法はありますか?
library(tidyverse)
persons = data.frame(
name = c("Ponting", "Clarke", "Dave", "Bevan"),
age = c(24, 32, 26, 29),
col1 = c(1,2,3,4),
col2 = c("a", "z", "h", "p")
)
person_sports = data.frame(
name = c("Ponting", "Dave", "Roshan"),
sports = c("soccer", "tennis", "boxing"),
rank = c(8, 4, 1),
col3 = c("usa", "australia", "england"),
col4 = c("a", "f1", "z2")
)
persons %>% full_join(person_sports, by = c("name")) %>%
filter((is.na(age) & is.na(col1) & is.na(col2)) | (is.na(sports) & is.na(rank) & is.na(col3) & is.na(col4)))
出力:
'(。)' 'complete.casesで表しんどのような方法によって返信...に感謝(。)'と 'is.naは(。)' – Sharath
'.'はドットです'%>%'パイプ演算子からのプレースホルダです。どこにでも右側に '.'があると、オペレータの左側が置かれます。そうすれば、右手側で何回か左手側を使用したり、右手側の最初の機能パラメータ以外の位置で使用することができます。 詳しい説明と例については、 'help("%>% "、package =" magrittr ")'をご覧ください。 –
ありがとうございました.... – Sharath