Преобразовать список объектов для получения имен строк R

У меня проблемы с извлечением имен строк из объекта. Когда я набираю имя строки (объект), я получаю "ноль", но если я набираю объект, я получаю матрицу информации. Если это помогает, когда я набираю класс (объект), он говорит мне, что это список. Что я ищу, так это метод получения имен строк на стороне. Спасибо!

>

        alpha84 alpha91 alpha98 alpha105 alpha112 alpha119
YBR088C    1.08    0.27    0.04    -0.51    -0.80    -0.89
YDL003W    0.62   -0.01   -0.36    -0.04    -0.55    -0.55
YDR097C    0.64    0.18   -0.05     0.03    -0.76    -0.66
YDR507C    0.53    0.13    0.07     0.14    -0.56    -0.41
YER070W    0.73    0.20    0.00     0.11    -0.53    -0.72
YER095W    0.28   -0.05   -0.11    -0.13    -0.87    -0.90
YER111C    0.37   -0.19   -0.11    -0.54    -0.34    -0.47
YGR189C    0.81    0.12    0.15    -0.39    -0.60    -1.20
YKL045W    0.46   -0.27   -0.10    -0.23    -0.42    -1.21
YLR183C    0.96    0.14    0.28    -0.17    -0.14    -0.68
YML027W    0.50   -0.01    0.11    -0.33    -0.44    -0.94
YMR179W    0.42    0.04   -0.40    -0.47    -0.12    -0.61
YNL300W    0.79    0.33    0.54    -0.09    -0.31    -1.01
YOR074C    0.73    0.09   -0.27    -0.22    -0.62    -0.80
YPL163C    1.61    0.84    0.82    -0.09    -0.48    -0.97
YPL256C    1.10    0.56    0.18    -0.32    -0.38    -1.04

Структура (список (4 = структура (список (альфа0 = с (-1,15, -1,22, -0,72, -1,76, -1,46, -0,57, -1,21, -0,32, -0,8, -1,7, -1,72, -1,3, -1,24, -1,14, -2,42, -1,41), альфа7 = с (-0,86, -0,74, -0,85, -0,34, -0,76, 0,42, -0,26, -0,65, 0,01, -1,46, -0,66, 0,07, -0,78, -0,31, -2,15, -0,69), альфа14 = с (1,21, 1,34, 0,54, 0,18, 1,08, 1,03, 1,36, 0,87, 0,86, 0,93, 1,73, 0,98, 0,31, 0,57, 0,66, 1,39), альфа21 = с (1,62 1,5, 1,04, 1,07, 1,5, 1,35, 1,37, 1,1, 0,84, 1,12, 1,29, 1,12, 1,46, 1,08, 1,98, 1,98), alpha28 = c (1,12, 0,63, 0,84, 0,37, 0,74, 0,64, 0,54, 1,17, 0,51, 0,91, 0,51, 0,13, 1,11, 1,17, 1,55, 0,74), alpha35 = c (0,16, 0,29, 0,24, 0,32, 0,47, 0,42, 0,18, 0,44, 0,14, 0,11, 0,28, 0,19, 0,62, 0,57, 0,78, 0,21), альфа42 = с (-0,44, -0,55, -0,64, -0,5, -0,7, -0,4, -0,85, 0,37, -0,4, 0, 0,23, -0,58, 0,07, 0,31, 0,14, - 0,36), альфа49 = с (-0,93, -0,65, -0,83, -0,25, -0,68, -0,9, -0,82, -0,93, -0,64, -0,73, -0,55, -0,63, -0,23, -0,74, - 0,94, -1,32), альфа56 = с (-1,23, -0,76, -0,36, -0,48, -1,03, -0,73, -0,75, -1,45, -0. 8, -0,9, -0,97, -0,9, -0,58, -0,68, -1,03, -1,5), alpha63 = c (-0,62, -0,88, -0,7, -0,25, -0,55, -0,47, 0,07, -0,57, 0,41, -0,46, -0,48, 0,09, -1,01, -0,1, -1,5, -1,07), alpha70 = c (0,62, 0,69, 0,99, 0,79, 0,35, 0,2, 0,89, 0,15, 0,88, 0,85, 0,57, 0,54, -0,24, -0,38, -0,03, 0,35), alpha77 = c (1,3, 1,25, 1,08, 0,97, 1,24, 0,78, 0,78, 0,92, 0,75, 0,93, 0,88, 1,44, 0,23, 0,75, 1,25, 1,57)., alpha84 = c (1,08, 0,62, 0,64, 0,53, 0,73, 0,28, 0,37, 0,81, 0,46, 0,96, 0,5, 0,42, 0,79, 0,73, 1,61, 1,1), alpha91 = c (0,27, -0,01, 0,18, 0,13, 0,2, -0,05, -0,19, 0,12, -0,27, 0,14, -0,01, 0,04, 0,33, 0,09, 0,84, 0,56), alpha98 = c (0,04, -0,36, -0,05, 0,07, 0,0, -0,11, - 0,11, 0,15, -0,1, 0,28, 0,11, -0,4, 0,54, -0,27, 0,82, 0,18), alpha105 = c (-0,51, -0,04, 0,03, 0,14, 0,11, -0,13, -0,54, -0,39, - 0,23, -0,17, -0,33, -0,47, -0,09, -0,22, -0,09, -0,32), alpha112 = c (-0,8, -0,55, -0,76, -0,56, -0,53, -0,87, -0,34, - 0,6, -0,42, -0,14, -0,44, -0,12, -0,31, -0,62, -0,48, -0,38), alpha119 = c (-0,89, -0,55, -0,66, -0,41, -0,72, -0,9, -0,47, -1,2, -1,21, -0,68, -0,94, -0,61, -1,01, -0,8, -0,97, -1,04)),.Names = c ("alpha0", "alpha7", "alpha14", "alpha21", "alpha28", "alpha35", "alpha42", "alpha49", "alpha56", "alpha63", "alpha70", "alpha77", "alpha84", "alpha91 "," alpha98 "," alpha105 "," alpha112 "," alpha119 "), row.names = c("YBR088C", "YDL003W", "YDR097C", "YDR507C", "YER070W", "YER095W", "YER111C", "YGR189C", "YKL045W", "YLR183C", "YML027W", "YMR179W", "YNL300W", "YOR074C", "YPL163C", "YPL256C"), класс = "data.frame")), .Names = "4")

1 ответ

Решение

У тебя есть list одного элемента. Этот единственный элемент является data.frame,

Если вы после rownames из этого объекта, а затем индексировать список соответствующим образом

rownames(object[[1]])
## [1] "YBR088C" "YDL003W" "YDR097C" "YDR507C" "YER070W" "YER095W" "YER111C" "YGR189C" "YKL045W" "YLR183C" "YML027W"
## [12] "YMR179W" "YNL300W" "YOR074C" "YPL163C" "YPL256C"

Для более общего списка data.frames

# get rownames from all data.frames in a list
lapply(object, rownames)

Если вам нужен data.frame, а не список, содержащий data.frame, вы можете просто назначить результаты первого элемента отдельному элементу.

object.df <- object[[1]]

Если это список data.frames, он, вероятно, более идиоматически R сохранить его в списке и использовать lapply работать над каждым элементом.

Другие вопросы по тегам