R matrix: R Matrix (Create and Modify Matrix, and Access Matrix Elements)

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 или индексы. Для матрицы списка элементы длины не один печатается в виде

целое,7 с указанием типа и длина.

Ссылки

Becker, R.A., Chambers, J.M. and Wilks, A.R. (1988) Новый язык S . Уодсворт и Брукс/Коул.

См. также

data.matrix , который пытается преобразовать в числовое матрица.

Матрица — это частный случай двумерного массива .

Примеры

Запустите этот код

 # NOT RUN {
есть.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *