Заполните данные в матрице, сопоставив имя фактора и столбца в R - PullRequest
0 голосов
/ 21 января 2019

У меня есть матрица, которая содержит имена людей (как имена строк) и идентификатор продукта (как имена столбцов), и у меня есть разные файлы, каждый файл содержит имя продукта и идентификатор продукта, используемые одним человеком.

Этоэто структура матрицы (res): - enter image description here

Это файл для Ноа: -

Product_name    product_ID
A               p-0001
C               p-0002
J               p-0010
AX              p-0054
RD              p-0059
TW              p-0067
YZ              p-0099

Это мой код: -

listfile                                     #contain list of all files
ID                                           #contain ID of all products
N <- read.csv("/home/folder/Noah.csv")
N_ID <- N$product_ID                         #contain Noah's product IDs
res <- matrix(0, nrow = nrow(listfile), ncol = nrow(ID),dimnames =
list(unlist(listfile), unlist(ID)))          # create matrix res
for(j in 1:length(colnames(res))){
if(N_id %in% j){
paste(1,res)
} else {
paste(0,res)
}

Я пытаюсь поместить все файлы данных в виде матрицы.Если человек использует этот продукт, он будет помечен как 1, иначе 0. Но я не знаю, как сопоставить N_id с colnames (res) и заполнить данные, какие изменения требуются в коде.

Ожидаемый результат:- enter image description here

1 Ответ

0 голосов
/ 23 января 2019
listfile                                     #contain list of all files
ID                                           #contain ID of all products
N <- read.csv("/home/folder/Noah.csv")
N_ID <- N$product_ID               
library(stringi)
c <- stri_count_regex(ID, paste(N_id, collapse = '|'))
print(c)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...