【发布时间】:2015-09-25 22:59:46
【问题描述】:
我有一个由如下记录组成的数据框。数据框的典型行 df[1,] 如下所示
84745,"F",70,7,"Single",2,"N",4,9,1,1,3,4,4,"2 day","<120 and <80",0,8,0,1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1
我想把它转换成一个像下面的myvar这样的变量
myvar = list( list(84745,"F",70,7,"Single",2,"N",4,9,1,1,3,4,4,"2 day","<120 and <80",0,8,0,1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1))
我已尝试执行以下操作,但无法将其转换为列表列表。
myvar <- as.list(as.list(as.data.frame(t(df[1,]))))
我该怎么做?
编辑:我试过 myvar = list(unclass(df[14,])).但是,由于输出 myvar 的格式略有不同,因此调用失败。
原代码行格式
[[1]]
[[1]][[1]]
[1] 21408
[[1]][[2]]
[1] "M"
[[1]][[3]]
[1] 69
[[1]][[4]]
[1] 3
[[1]][[5]]
[1] "Widowed"
myvar 的格式 = list(unclass(df[14,]))
[[1]]
[[1]]$ID
[1] "21408"
[[1]]$GenderCD
[1] "M"
[[1]]$Age
[1] "69"
[[1]]$LOS
[1] "3"
[[1]]$MaritalStatus
[1] "Widowed"
【问题讨论】:
-
您需要列表列表做什么?这可能有助于找到一个好的解决方案。
-
@theWanderer4865,它用于测试部署在 azure 上的 Web 服务,该服务期望输入为列表列表
-
编辑表明您没有提供正确的示例。使用
unclass不会强制数据帧中的一行都是同一个类。正如我的回答中所指出的那样,使用t可以做到这一点。