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 { есть.