Я написал код для моей матрицы, которую я хочу создать

tstp<-matrix(1:200, ncol = 4, byrow = TRUE)

А потом я написал этот код, чтобы получить мой необходимый формат

write.table(tstp, row.names = FALSE, col.names = FALSE, quote = FALSE, sep = "\t")

Я здесь представляю первые четыре ряда. Выход такой

1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16

Это мой обязательный вывод, если его класс будет фреймом данных. Поэтому я написал код для преобразования его во фрейм данных, который задается как

> timestp<-data.frame(tstp)

И выходные данные из кода создали имена столбцов и номер строки, которые не требуются, как показано ниже.

> timestp
  X1 X2 X3 X4
1  1  2  3  4
2  5  6  7  8
3  9 10 11 12
4 13 14 15 16

Он создал класс, который мне нужен

> class(timestp)
[1] "data.frame"

Но я хочу вывод, как показано ниже с классом data.frme

1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
1
Mohsin Waqas 28 Май 2017 в 03:13

2 ответа

Лучший ответ

Мы можем использовать as.data.frame с параметром optional, установленным в TRUE

timestp <- as.data.frame(tstp, optional = TRUE)

colnames(df)
#NULL
2
Ronak Shah 28 Май 2017 в 01:11

Ты можешь сделать это:

rownames(timestp) <- NULL
colnames(timestp) <- NULL

Или, если вы хотите исключить только имена строк, используйте это:

timestp<-data.frame(tstp, row.names = NULL)

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

Вы успешно удалили имена строк. Метод print.data.frame просто показывает номера строк, если имена строк отсутствуют.

Если вы хотите исключить номера строк во время печати, это поможет вам:

print(timestp, row.names = FALSE)

Это будет вывод:

> print(head(timestp), row.names = FALSE)

 # 1  2  3  4
 # 5  6  7  8
 # 9 10 11 12
 # 13 14 15 16
 # 17 18 19 20
 # 21 22 23 24
1
M-- 28 Май 2017 в 00:35