R Матрицы
❮ Предыдущая Далее ❯
Матрицы
Матрица представляет собой двумерный набор данных со столбцами и строками.
Столбец — это вертикальное представление данных, а строка — горизонтальное представление данных.
Матрица может быть создана с помощью функции matrix() . Укажите параметры nrow и ncol , чтобы получить количество строк и столбцов:
Пример
# Создаем матрицу
thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)
# Вывести
matrix
thismatrix
Попробуйте сами »
Примечание: Помните, что функция c() используется для конкатенации
предметы вместе.
Вы также можете создать матрицу со строками:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
thismatrix
Попробуйте сами »
Доступ к элементам матрицы
Вы можете получить доступ к элементам, используя [ ] кронштейны.
Первая цифра «1» в скобках указывает позицию строки, а
второе число “2” указывает позицию столбца:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
thismatrix[1, 2]
Попробуйте сами »
Вся строка доступна, если указать запятую после число в скобках:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
thismatrix[2,]
Попробуйте сами »
Весь столбец будет доступен, если указать запятую перед числом в скобках:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
thismatrix[2]
Попробуйте сами »
Доступ более чем к одной строке
При использовании функции c() можно получить доступ более чем к одной строке :
Пример
0 thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин", "виноград", "ананас", "груша", "дыня", "инжир"), nrow = 3, ncol = 3)thismatrix[c(1,2),]
Попробуйте сами »
Доступ к нескольким Столбец
Более чем один столбец может быть доступен, если вы используете c() функция:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин", "виноград", "ананас", "груша", "дыня", "инжир"), nrow = 3, ncol = 3)
thismatrix[ c(1,2)]
Попробуйте сами »
Добавление строк и столбцов
Используйте функцию cbind() для добавления дополнительных столбцов в матрицу:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин", "виноград", "ананас", "груша", "дыня", "инжир"), nrow = 3, ncol = 3)
новая матрица <- cbind(thismatrix, c("клубника", "черника", "малина"))
# Напечатать новую матрицу
newmatrix
Попробуйте сами »
Примечание: той же длины, что и существующая матрица.
Используйте функцию rbind() для добавления дополнительных строк в матрицу:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин", "виноград", "ананас", "груша", "дыня", "инжир"), nrow = 3, ncol = 3)
новая матрица <- rbind(thismatrix, c("клубника", "черника", "малина"))
# Напечатать новую матрицу
newmatrix
Попробуйте сами »
Примечание: той же длины, что и существующая матрица.
Удаление строк и столбцов
Используйте функцию c() для удаления строк и столбцов в матрице:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин", "манго", "ананас"), nряд = 3, nстолб = 2)
#Удалить первую строку и первый столбец
thismatrix <- thismatrix[-c(1), -c(1)]
thismatrix
Попробуйте сами »
Проверить, существует ли элемент
Найти out, если указанный элемент присутствует в матрице, используйте оператор %in% :
Пример
Проверить наличие «яблока» в матрице:
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
“яблоко” % в % эта матрица
Попробуйте сами »
Количество строк и столбцов
Используйте функцию dim() , чтобы найти количество строк и столбцов в матрице:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
dim(thismatrix)
Попробуйте сами »
Длина матрицы
Используйте функцию length() , чтобы найти размер матрицы:
Пример
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
длина(этаматрица)
Попробуйте сами »
Общее количество ячеек в матрице равно количеству строк, умноженному на количество столбцов.
В приведенном выше примере: Размер = 2*2 = 4 .
Цикл через матрицу
Вы можете пройти через матрицу, используя цикл для . Цикл начнется с
первый ряд, движение вправо:
Пример
Переберите элементы матрицы и распечатайте их:
thismatrix <- matrix(c("яблоко", "банан", "вишня", "апельсин"), nrow = 2, ncol = 2)
для (строк в 1:nrow(thismatrix)) {
для (столбцов в
1:ncol(thismatrix)) {
print(thismatrix[строки, столбцы])
}
}
Попробуйте сами »
Объединение двух матриц
Опять же, вы можете использовать функцию rbind() или cbind() для объединения двух или более матриц вместе:
Пример
# Объединить матрицы
Matrix1 <- matrix(c("яблоко", "банан", "вишня",
"виноград"), nrow = 2, ncol = 2)
Matrix2 <- matrix(c("апельсин", "манго",
"ананас", "арбуз"), nrow = 2, ncol = 2)
# Добавление в виде строк
Matrix_Combined <- rbind(Matrix1, Matrix2)
Matrix_Combined
# Добавление в виде столбцов
Matrix_Combined <- cbind (Matrix1, Matrix2)
Matrix_Combined
Попробуйте сами »
❮ Предыдущий Далее ❯
матричная функция – RDocumentation
Описание
matrix создает матрицу из заданного набора значений.
as.matrix пытается преобразовать свой аргумент в матрицу.
is.matrix проверяет, является ли его аргумент (строгой) матрицей.
Использование
матрица (данные = нет данных, nrow = 1, ncol = 1, byrow = FALSE,
dimnames = NULL) as.matrix(x, …)
# Метод S3 для data.frame
as.matrix(x, rownames.force = NA, …)
is.matrix(x)
Аргументы
данные
необязательный вектор данных (включая список или выражение вектор). Неатомарные классифицированные объекты R
принуждается as.vector и все атрибуты отбрасываются.
nrow
желаемое количество строк.
ncol
желаемое количество столбцов.
byrow
логический. Если ЛОЖЬ (по умолчанию), матрица
заполняется столбцами, иначе матрица заполняется строками.
dimnames
Атрибут dimnames для матрицы: NULL или список длины 2, указывающий строку и столбец
имена соответственно.
Пустой список обрабатывается как NULL , а
список длины один как имена строк. Список может быть назван, а
имена списков будут использоваться в качестве имен для измерений.
x
объект R.
…
дополнительные аргументы для передачи в методы или из них.
rownames.force
логическое указание, является ли результирующая матрица
должен иметь символ (а не NULL ) имен строк . По умолчанию NA использует NULL .
имена строк, если фрейм данных имеет «автоматические» имена строк или для
кадр данных с нулевой строкой.
Детали
Если один из nrow или ncol не указан, попытка
сделать вывод из длины и других
параметр. Если ни один из них не указан, возвращается матрица с одним столбцом.
Если в данных слишком мало элементов для заполнения матрицы,
затем элементы данных перерабатываются.
Если данные имеют
нулевая длина, NA соответствующего типа используется для атомарных
векторы ( 0 для необработанных векторов) и NULL для списков.
is.matrix возвращает TRUE , если x является вектором и имеет "dim" атрибут длины 2 и FALSE в противном случае.
Обратите внимание, что data.frame – это , а не матрица этим
контрольная работа. Функция универсальна: вы можете написать методы для обработки
конкретные классы объектов, см. InternalMethods.
as.matrix — это общая функция. Метод для фреймов данных
вернет символьную матрицу, если есть только атомарные столбцы и любые
не (числовой/логический/сложный) столбец, применяя as.vector на факторы и формат на другие несимвольные столбцы.
В противном случае обычная иерархия принуждения (логический < целое < двойное <
сложные) будут использоваться, например, все логические кадры данных будут принудительно
к логической матрице смешанное логическое целое даст целочисленную матрицу,
и т.
д.
Метод по умолчанию для as.matrix вызывает as.vector(x) и
следовательно, например, принуждает факторы к векторам символов.
При преобразовании вектора создается матрица с одним столбцом, и продвигает имена (если есть) вектора к именам строк матрицы.
is.matrix — примитивная функция.
Метод print для матрицы дает прямоугольную компоновку с
dimnames или индексы. Для матрицы списка элементы длины не
один печатается в виде
Ссылки
Becker, R.A., Chambers, J.M. and Wilks, A.R. (1988) Новый язык S . Уодсворт и Брукс/Коул.
См. также
data.matrix , который пытается преобразовать в числовое
матрица.
Матрица — это частный случай двумерного массива .
Примеры
Запустите этот код
# NOT RUN {
есть.