Как создать таблицу в R с 1 и 0 на основе наличия значений из нескольких других файлов - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть пять различных текстовых файлов, каждый из которых содержит 7-значные строки.Я хочу создать таблицу, которая сообщает мне, используя 1 и 0, присутствует ли строка в файле.

Например:

        file1.txt  file2.txt  file3.txt
xxxxxxx     1         0           1
xxxxxxx     0         1           1
xxxxxxx     1         1           1

У меня практически нет опыта в R или любом виде кодирования.Кто-нибудь может мне помочь?Я могу добавить больше информации, если кто-то спросит.

1 Ответ

0 голосов
/ 11 сентября 2018

Предполагается, что существует три файла:

==> file1.txt <==
1111111
3333333

==> file2.txt <==
2222222
3333333

==> file3.txt <==
1111111
2222222
3333333

Я бы прочитал три файла в отдельные кадры данных:

file1=read.csv('file1.txt', header=FALSE)
file2=read.csv('file3.txt', header=FALSE)
file3=read.csv('file3.txt', header=FALSE)

Добавить флаг к каждому:

file1$file1.txt <- rep(1,nrow(file1))
file2$file2.txt <- rep(1,nrow(file2))
file3$file3.txt <- rep(1,nrow(file3))

Выполнить внешнее объединение, используя merge, заменить значения NA на 0 и присвоить именам строк значения

merged=merge(merge(file1,file2, all=TRUE), file3, all=TRUE)
merged[is.na(merged)] <- 0
rownames(merged) <- merged[,1]
merged[,1] <- NULL

теперь объединено:

        file1.txt file2.txt file3.txt
1111111         1         0         1
2222222         0         1         1
3333333         1         1         1

См., В частности: https://stat.ethz.ch/R-manual/R-devel/library/utils/html/read.table.html https://stat.ethz.ch/R-manual/R-devel/library/base/html/merge.html

А: Как объединить (объединить) фреймы данных (внутренний, внешний, левый, правый)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...