Я новичок в R, поэтому прошу прощения, если этот вопрос глупый.У меня есть матрица «друзья», в которой содержится куча целых чисел.У меня также есть список целых чисел "female_ids", который содержит некоторые целые числа.Я хочу заменить все элементы "friends", кроме "female_ids", на "NA".
Итак, соответствующая функция выглядит как
friends[!(friends %in% female_ids)] = NA
Но это заменяет все на NA
!Озадаченный, я проверил friends[30, 10] %in% female_ids
, что оказалось True.Затем я проверил friends[friends %in% female_ids]
, который оказался пустым.Кроме того, я проверил friends[friends == 28]
(есть несколько элементов, равных 28), и это оказалось непустым.
Мой вопрос: я упускаю что-то очень очевидное?У меня есть хотя бы один элемент (30, 10)
, который определенно указан в female_ids.Но, тем не менее, когда я запрашиваю всю матрицу, он думает, что ничего нет в female_ids
.
Я рад предоставить любую дополнительную информацию, которая будет полезна.Заранее благодарим за помощь!
Вот соответствующие данные.
> dput(friends)
structure(list(MF1 = c(33L, 34L, 72L, 3L, 27L, 94L, 49L, 16L,
19L, 33L, 43L, 94L, 73L, 47L, 94L, 27L, 73L, 23L, 73L, 63L, 33L,
43L, 86L, 16L, 4L, 3L, 33L, 76L, 72L, 86L), MF2 = c(63L, 52L,
54L, 19L, 19L, 73L, 63L, 72L, 94L, 86L, 64L, 83L, 99L, 16L, 99L,
73L, 82L, 61L, 94L, 16L, 94L, 16L, 61L, 16L, 82L, 82L, 4L, 76L,
23L, 47L), MF3 = c(27L, 19L, 82L, 64L, 72L, 47L, 47L, 52L, 76L,
23L, 34L, 4L, 63L, 52L, 34L, 72L, 3L, 73L, 16L, 73L, 86L, 3L,
27L, 64L, 3L, 49L, 57L, 54L, 63L, 23L), MF4 = c(23L, 72L, 52L,
34L, 33L, 61L, 73L, 3L, 47L, 52L, 57L, 76L, 23L, 4L, 27L, 82L,
83L, 64L, 3L, 73L, 27L, 33L, 83L, 82L, 16L, 47L, 3L, 57L, 4L,
94L), MF5 = c(16L, 57L, 57L, 82L, 99L, 64L, 4L, 34L, 73L, 3L,
23L, 27L, 82L, 19L, 3L, 83L, 61L, 47L, 27L, 47L, 72L, 86L, 83L,
19L, 64L, 73L, 94L, 27L, 83L, 19L), FF1 = c(81L, 21L, 50L, 45L,
81L, 36L, 90L, 42L, 21L, 2L, 7L, 45L, 42L, 59L, 14L, 75L, 46L,
69L, 28L, 81L, 45L, 17L, 56L, 65L, 50L, 50L, 2L, 69L, 69L, 46L
), FF2 = c(11L, 42L, 65L, 14L, 81L, 81L, 42L, 14L, 28L, 7L, 56L,
7L, 90L, 28L, 11L, 65L, 65L, 90L, 45L, 67L, 91L, 67L, 14L, 56L,
65L, 67L, 14L, 46L, 78L, 45L), FF3 = c(62L, 7L, 62L, 56L, 69L,
17L, 7L, 28L, 2L, 5L, 46L, 56L, 59L, 14L, 2L, 56L, 56L, 14L,
21L, 36L, 78L, 62L, 11L, 59L, 62L, 45L, 70L, 17L, 14L, 56L),
FF4 = c(91L, 67L, 42L, 50L, 45L, 56L, 2L, 11L, 7L, 14L, 17L,
17L, 62L, 50L, 62L, 2L, 78L, 75L, 91L, 11L, 28L, 69L, 70L,
78L, 45L, 5L, 56L, 2L, 42L, 70L), FF5 = c(45L, 75L, 70L,
78L, 36L, 42L, 21L, 7L, 36L, 11L, 28L, 14L, 36L, 36L, 28L,
14L, 67L, 56L, 70L, 28L, 46L, 81L, 45L, 90L, 42L, 21L, 67L,
90L, 11L, 28L)), class = "data.frame", row.names = c(NA,
-30L))
> dput(female_ids)
c(42L, 56L, 14L, 75L, 11L, 28L, 78L, 65L, 81L, 36L, 90L, 62L,
50L, 69L, 7L)