2015-12-03 2 views
1

Я использовал функцию write.table для записи 100 матриц в отдельные файлы, где я четко указал, что значения матрицы должны быть разделены символом "\ t ».write.table with sep = " t" не отображается в строке

 for(i in 1:length(listofmatrices1)){ 
     write.table(listofmatrices1[[i]], file=(paste("traj1", as.character(i), ".txt", sep="")), row.names=FALSE, sep="\t") 
    } 

Однако файлы не отображаются таким образом ... и каждую цифру только с 3 знаков после запятой неуместна.

 "X" "Y" 
    164.8034 164.8034 
    164.8546 164.8546 
    164.831 164.831 
    164.8784 164.8784 
    165.4194 165.4194 
    166.5505 166.5505 
    166.652 166.652 
    167.0379 167.0379 

Я думаю, что это возмущающее вниз по течению анализа, что я делаю, когда я пытаюсь перебирать содержание файлов. Как это происходит и как его остановить?

+1

Я думаю, что это просто из-за того, как он отображается. Вкладки обычно имеют 8 символов (но я подозреваю, что они здесь 4), а 3-десятичные числа имеют ширину 7 символов ('164.831'), для выравнивания к следующей вкладке требуется только 1 символ. С '164.1234' строка имеет ширину 8 символов, поэтому четыре (или 8) символа будут вставлены для выравнивания со следующей вкладкой. – Kenney

+0

Кроме того, что такое ошибка линии, которая, по вашему мнению, создается здесь? – polka

+0

oh ok спасибо, вы знаете, почему я получаю следующую ошибку при повторении через файлы: Ошибка в таблице [, 2]: неправильное количество измерений , используя следующую команду: ComputeStepSize <-функция (таблица) { deltastepY < - diff (таблица [, 2] [seq (1, length (таблица [, 2]), 2)]) deltastepX <- diff (таблица [, 1] [seq (1, length (table [, 2])) , 2)]) overalldelta <-sqrt (deltastepY ** 2 + deltastepX ** 2) return (overalldelta) } – cian

ответ

0

Хотя файлы могут не отображаться в строке, измените значение «\ t» на «,», и вы увидите, что там есть разделитель. Если вы откроете файл с открытым считывателем электронных таблиц, например LibreOffice или OpenOffice, вы увидите, что числа выстроились в столбцы.

+0

oh ok спасибо, вы знаете, почему я получаю следующую ошибку при итерации по файлам: Ошибка в table [, 2]: неправильное количество измерений , используя следующую команду: ComputeStepSize <-функция (таблица) { deltastep Y <- diff (таблица [, 2] [seq (1, length (таблица [, 2]), 2)]) deltastepX <- diff (таблица [, 1] [seq (1, length (table [, 2 ]), 2)]) overalldelta <-sqrt (deltastepY ** 2 + deltastepX ** 2) return (overalldelta) } – cian

+0

форматирование чата сворачивает ваш код, его трудно прочитать. Можете ли вы открыть новый вопрос или изменить существующий вопрос, чтобы включить этот код? – polka