@ Ответ Boni2k не работает для меня.
Мне нужно переименовать корень build.gradle.kts
обратно в build.gradle
, исправить синтаксическую ошибку, синхронизировать проект (который сразу работает нормально) и переименовать файл обратно в build.gradle.kts
. Тогда ошибка исчезнет, и я смогу успешно синхронизировать проект.
Что я сделал, чтобы поднять ошибку, так это то, что я переместил проект в другую папку и переименовал проект.
вы можете использовать функцию setdiff () (установить разницу):
> setdiff(x, y)
[1] 1
Если:
x <- c(1,2,3,4)
y <- c(2,3,4)
Любое из этих выражений:
setdiff(x, y)
x[!(x %in% y)]
x[is.na(match(x,y))]
x[!(is.element(x,y))]
даст Вам правильный ответ [1] 1
, если цель состоит в том, чтобы найти значения/символы в x
, который не присутствует в y
.
Однако применение вышеупомянутые выражения могут быть хитрыми и могут дать нежелательные результаты в зависимости от природы вектора и положения X и Y в выражении. Например, если:
x <- c(1,1,2,2,3,4)
y <- c(2,3,4)
и цель должен только найти уникальные значения/символы в x
, который не присутствует в y
или наоборот. Применение любого из этих выражений все еще даст правильный ответ [1] 1
:
union(setdiff(x, y), setdiff(y, x))
Благодаря вкладу [1 111] Jeromy Anglim
ИЛИ:
difference <- function(x, y) {
c(setdiff(x, y), setdiff(y, x))
}
difference(y,x)
Да. Для векторов вы можете просто использовать оператор % in%
или функцию is.element ()
.
> x[!(x %in% y)]
1
Для матрицы существует множество различных подходов. merge ()
, вероятно, самый простой. Я предлагаю изучить этот вопрос для этого сценария .
The help file in R for setdiff, union, intersect, setequal, and is.element provides information on the standard set functions in R.
setdiff(x, y)
returns the elements of x
that are not in y
.
As noted above, it is an asymmetric difference. So for example:
> x <- c(1,2,3,4)
> y <- c(2,3,4,5)
>
> setdiff(x, y)
[1] 1
> setdiff(y, x)
[1] 5
> union(setdiff(x, y), setdiff(y, x))
[1] 1 5