Я абсолютно не знаком с кодированием, поэтому, пожалуйста, простите меня, если это должно быть очень легко решить или найти - может быть, это так просто, что никто до сих пор не объяснил, t поиск с правильными ключевыми словами.R: Выберите один или, но не оба
У меня есть столбец в моем наборе данных, который содержит буквы f, n, i во всех возможных комбинациях. Теперь я хочу найти только те строки, которые содержат либо f, либо n, но не оба. Таким образом, это может быть f, или fi, или n, или ni. Затем я хочу сравнить эти два набора строк друг с другом в ящике. Поэтому в идеале у меня было бы две коробки: одна со всеми точками данных, принадлежащими группе f, включая fi, и одна со всеми точками данных, принадлежащими группе n, включая ni.
Пример моего набора данных:
df <- data.frame(D = c("f", "f", "fi", "n", "ni", "ni", "fn", "fn"), y = c(1, 0.8, 1.1, 2.1, 0.9, 8.8, 1.7, 5.4))
D y
1 f 1.0
2 f 0.8
3 fi 1.1
4 n 2.1
5 ni 0.9
6 ni 8.8
7 fn 1.7
8 fn 5.4
Теперь то, что я хочу, чтобы это подмножество:
D y
1 f 1.0
2 f 0.8
3 fi 1.1
4 n 2.1
5 ni 0.9
6 ni 8.8
, а затем как-то 1,2,3 и 4,5,6 в каждой группы, чтобы построить в ящике.
До сих пор я только удалось получить подмножество, которое имеет только записи с либо F или п, но не фи, щ и т.д., которые не то, что я хочу с этим кодом:
df2<-df[df$D==c("f","n"),]
и в создании подмножество, которое имеет все различные группы с е и п:
df2 <- df[grepl("f", df$D) | grepl("n", bat.df$D),]
Я читал о «исключающего или» оператора XOR, но когда я пытаюсь использовать это так:
df2 <- bat.df[xor(match("n", df$D), match("f", df$D)),]
это просто дает мне полный набор данных. Но даже если бы это сработало, я думаю, что я мог бы сделать коробку с четырьмя группами, f, n, fi и ni, где мне нужны только две группы. Итак, как я могу заставить этот код работать, и как я могу продолжить?
Надеюсь, это не слишком страшно для первого вопроса! Я немного смущен, когда трачу слишком много времени на это. Любая помощь, о моей проблеме, о том, где искать ответ или о том, как улучшить вопрос, очень ценится!
воспроизводимые пример? –
Показывает несколько строк набора данных (со всеми различными комбинациями) и указывает, какие строки вы хотите выбрать, предоставит воспроизводимый набор данных и ответ, который может быть нацелен в решении. Звучит довольно просто. –
Будет ли 'test <- c (« i »,« f »,« n »,« fi »,« ni »,« fn »)' быть репрезентативными для ваших данных? – thelatemail