我有一个嵌套列表,其元素是不同的对象 - 让我们说字符串(字符),整数,数字和数据帧:
mylist <- list(letters = as.character("Hello world"),
numbers = as.numeric(1.254),
table = data.frame (id = letters[1:5], value = 1:5))
我想将此列表转换为关系data.table
或data.frame
但我的R不断抛出异常。
为了让我更难,我有一个列表biglist
,其中每个元素都是上面列出的列表之一。目前,这就是我想要实现的目标:
# I start with initializing a data.table/frame result.table
# which should then hold all the other values.
result.table <- data.table(letters = character(length(biglist),
numbers = numeric(length(biglist), ... ) # and so on
for (i in 1:length(mylist)) {
result.table[i]$col1 <- mylist[[i]]$letters
result.table[i]$col2 <- mylist[[i]]$numbers
result.table[i]$col3 <- mylist[[i]]$table$value[1]
result.table[i]$col4 <- mylist[[i]]$table$value[2]
}
return (result.table)
我的R一直告诉我,由于列数量和数据类型的不同,它们似乎都是字符(甚至是数字......)。是否有关于如何更有效且无错误地从mylist
访问值的想法?
答案 0 :(得分:3)
试试这个:
mylist<-as.data.frame(mylist)
# letters numbers table.id table.value
# 1 Hello world 1.254 a 1
# 2 Hello world 1.254 b 2
# 3 Hello world 1.254 c 3
# 4 Hello world 1.254 d 4
# 5 Hello world 1.254 e 5