Приветствую вас, прекрасные люди. Я новичок в R и Matlab и искал в сети, чтобы ответить на это, но не нашел ничего. Проблема в том, что когда я создаю финальную матрицу, она просто перечисляет имена файлов.Чтение имен файлов вместо данных внутри файлов
Фон за это, так что вы понимаете, что я имею в виду:
Я использую R с встроенным MATLAB и пытаюсь прочитать данные из 15 .txt files.These 15 файлов все имеют 2 колонки данных и 1686 строк. Я должен помещать эти файлы в вектор списка типов, используя функцию dir(). Затем я должен получить доступ к каждому элементу этого вектора и передать его функции read.table(), чтобы я мог создать матрицу N, которая содержит данные. Как упоминалось ранее, эти файлы имеют 2 столбца, и мне говорят, чтобы извлечь 1-й столбец каждого файла и поместить его в i-й столбец матрицы с именем X. X имеет 16 строк для представления 15 файлов и строки заголовка и столбцов 1687 для данных и отклонения первого столбца.
Когда я набираю X в консольном бите R-студии, он приходит с ошибкой в X [i,] < - t (N [, 1]): количество элементов для замены не кратно замещающей длины ,
Я считал, что достаточно хорошо, я изменил X на матрицу 15 на 15, вместо этого вместо нее был найден матрикс, содержащий имена файлов .txt, а не нужные мне данные. Прежде всего я хочу решить эту ошибку имен файлов, прежде чем попытаться решить проблему с множественной заменой длины. Это что-то не так в моем коде? я написал ниже код, как если бы для 15 х 15 матрицы, чтобы продемонстрировать проблему имя файла, а не 16 х 1687 в качестве оригинала:
# Clear workspace
rm(list=ls())
# Close any open graphics devices
graphics.off()
# Load additional packages
require(matlab, quietly=TRUE)
# Activate functions
source("auto.r")
source("mncn.r")
source("rangescale.r")
source("hcluster2.r")
filelist <- dir(path = "~/MSc/Course/Module3", pattern = "*.txt", all.files = FALSE,
full.names = FALSE, recursive = FALSE,
ignore.case = FALSE, include.dirs = FALSE, no.. = FALSE)
for (i in 1:length(filelist)) assign(filelist[i], read.table(filelist[i], sep="\t", header=T, row.names=1))
filelist <- as.matrix(filelist)
N <- filelist
X <- matrix (nrow = 15, ncol = 15)
X[i,] <- t(N[,1])
NO волнуется ребята, fiiiiinaaaaaallly удалось сделать это заняло у меня несколько часов экспериментирования со скриптом друг прислал мне. Они прислали мне этот сценарий. –