R dataframe (> 2 столбца) в именованный список - PullRequest
0 голосов
/ 02 апреля 2020

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

Транспонирование строки выглядело хорошей идеей, но затем пытаюсь привести это к списку не имеет желаемого эффекта.

Моя попытка пока:

t(df[1, ]) # seems useful
list(t(df[1, ])) # but this doesn't have the desired effect

Воспроизводимый:

n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
b = c(TRUE, FALSE, TRUE) 
df = data.frame(n, s, b)  

Желаемый эффект для первой строки:

list(n = 2, 
     s = aa,
     b = TRUE)

Ответы [ 2 ]

2 голосов
/ 02 апреля 2020

Мы можем использовать as.list

as.list(df[1, ])

#$n
#[1] 2

#$s
#[1] "aa"

#$b
#[1] TRUE

данные

df = data.frame(n, s, b, stringsAsFactors = FALSE)  
1 голос
/ 02 апреля 2020

Вы можете попробовать unclass, например,

> unclass(df[1,])
$n
[1] 2

$s
[1] aa
Levels: aa bb cc

$b
[1] TRUE

attr(,"row.names")
[1] 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...