Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从列表值创建数据帧_R - Fatal编程技术网

R 从列表值创建数据帧

R 从列表值创建数据帧,r,R,如果这看起来很愚蠢,仍然在学习R和课程,请提前道歉 我创建了一个函数,它以列表格式吐回3个值 我试图“分离”这些值,并将它们插入到数据框中,以供后续使用。我希望数据帧看起来像这样: # | pyro1 | pyro2 | pyro3 | # baseline0 | | | | # drop time | | | | # drop temp | | | |

如果这看起来很愚蠢,仍然在学习R和课程,请提前道歉

我创建了一个函数,它以列表格式吐回3个值

我试图“分离”这些值,并将它们插入到数据框中,以供后续使用。我希望数据帧看起来像这样:

#             | pyro1 | pyro2 | pyro3 |
# baseline0   |       |       |       |
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
test <- data.frame(c(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029)))
#             | pyro1                   | pyro2              | pyro3                |
# baseline0   |list(10.5, 1025, 1023.5) |list(16, 1042, 1036)|list(14.5, 1042, 1038)|
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
基本上,在对我的函数调用
lappy
之后,剩下的数据帧如下所示:

#             | pyro1 | pyro2 | pyro3 |
# baseline0   |       |       |       |
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
test <- data.frame(c(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029)))
#             | pyro1                   | pyro2              | pyro3                |
# baseline0   |list(10.5, 1025, 1023.5) |list(16, 1042, 1036)|list(14.5, 1042, 1038)|
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
我尝试过使用rbind,认为这会因为某种原因而起作用,但这不起作用,而是给出了如下内容:

#             | pyro1 | pyro2 | pyro3 |
# baseline0   |       |       |       |
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
test <- data.frame(c(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029)))
#             | pyro1                   | pyro2              | pyro3                |
# baseline0   |list(10.5, 1025, 1023.5) |list(16, 1042, 1036)|list(14.5, 1042, 1038)|
# drop time   |       |       |       |
# drop temp   |       |       |       |
# exo time    |       |       |       |
# baseline1   |       |       |       |
# max temp    |       |       |       |
# baseline2   |       |       |       |
对不起,我没有这样一个清晰的工作示例,如果您需要更多信息,请让我知道,但我认为我的问题有点基本(可悲)

此外,我可能会以一种“不正确”的方式处理这个问题,我很乐意接受任何关于不同方法的建议

谢谢

编辑1 在玩了
unlist
之后,我把一些难看的代码放在了一起,这些代码提供了我想要的格式,但是我认为这可能是一种非常迂回的方式

testt <- data.frame(c(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029)))
xxx<-data.frame(unlist(testt))
xx1 <- cbind(xxx[1,1],xxx[4,1],xxx[7,1])
xx2 <- cbind(xxx[2,1],xxx[5,1],xxx[8,1])
xx3 <- cbind(xxx[3,1],xxx[6,1],xxx[9,1])
xx4 <- rbind(xx1,xx2,xx3)
xx4

testt在您的示例中,data.frame是由列绑定的,而不是由行绑定的,但是data.frames是列列表中最好的一个,其中每个列都有自己的特定含义和格式,但是绑定列表列是该概念的转置

所有值都属于同一类(此exmaple中为数字) 您可以将它们行绑定在一起形成一个矩阵,然后将该矩阵转换为data.frame

mx <- rbind(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029))
df <- as.data.frame(mx)

mx在您的示例中,data.frame是由列绑定的,而不是由行绑定的,但是data.frames是列列表中最好的一个,其中每个列都有自己的特定含义和格式,但是绑定列表列是该概念的转置

所有值都属于同一类(此exmaple中为数字) 您可以将它们行绑定在一起形成一个矩阵,然后将该矩阵转换为data.frame

mx <- rbind(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029))
df <- as.data.frame(mx)

mx在您的示例中,data.frame是由列绑定的,而不是由行绑定的,但是data.frames是列列表中最好的一个,其中每个列都有自己的特定含义和格式,但是绑定列表列是该概念的转置

所有值都属于同一类(此exmaple中为数字) 您可以将它们行绑定在一起形成一个矩阵,然后将该矩阵转换为data.frame

mx <- rbind(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029))
df <- as.data.frame(mx)

mx在您的示例中,data.frame是由列绑定的,而不是由行绑定的,但是data.frames是列列表中最好的一个,其中每个列都有自己的特定含义和格式,但是绑定列表列是该概念的转置

所有值都属于同一类(此exmaple中为数字) 您可以将它们行绑定在一起形成一个矩阵,然后将该矩阵转换为data.frame

mx <- rbind(list(10,1025,1000),list(15,1015,1001),list(9,1019,1029))
df <- as.data.frame(mx)
mx您的输入:

test <- structure(list(list(10.5, 1025, 1023.5), list(16, 1042, 1036), list(14.5, 1042, 1038)), 
                  .Dim = c(1L, 3L), .Dimnames = list( NULL, c("pyro1", "pyro2", "pyro3")))
你的意见:

test <- structure(list(list(10.5, 1025, 1023.5), list(16, 1042, 1036), list(14.5, 1042, 1038)), 
                  .Dim = c(1L, 3L), .Dimnames = list( NULL, c("pyro1", "pyro2", "pyro3")))
你的意见:

test <- structure(list(list(10.5, 1025, 1023.5), list(16, 1042, 1036), list(14.5, 1042, 1038)), 
                  .Dim = c(1L, 3L), .Dimnames = list( NULL, c("pyro1", "pyro2", "pyro3")))
你的意见:

test <- structure(list(list(10.5, 1025, 1023.5), list(16, 1042, 1036), list(14.5, 1042, 1038)), 
                  .Dim = c(1L, 3L), .Dimnames = list( NULL, c("pyro1", "pyro2", "pyro3")))

查看
str(测试)
<代码>测试
不是你想象的那样。请提供实际输入的示例<代码>dput
非常方便。当我从我的测试中进行dput时的输出:
dput(测试)结构(list(list(list)(list)(10.510251023.5),list(1610421036),list(14.510421038)),.Dim=c(1L,3L),.Dimnames=list(NULL,c(“pyro1”,“pyro2”,“pyro3”))
我认为它与我在
str(test)
上的示例不同<代码>测试
不是你想象的那样。请提供实际输入的示例<代码>dput
非常方便。当我从我的测试中进行dput时的输出:
dput(测试)结构(list(list(list)(list)(10.510251023.5),list(1610421036),list(14.510421038)),.Dim=c(1L,3L),.Dimnames=list(NULL,c(“pyro1”,“pyro2”,“pyro3”))
我认为它与我在
str(test)
上的示例不同<代码>测试
不是你想象的那样。请提供实际输入的示例<代码>dput非常方便。当我从我的测试中进行dput时的输出:
dput(测试)结构(list(list(list)(list)(10.510251023.5),list(1610421036),list(14.510421038)),.Dim=c(1L,3L),.Dimnames=list(NULL,c(“pyro1”,“pyro2”,“pyro3”))
我认为它与我在
str(test)
上的示例不同<代码>测试不是你想象的那样。请提供实际输入的示例<代码>dput非常方便。当我从我的测试中进行dput时的输出:
dput(测试)结构(list(list(list)(list)(10.510251023.5),list(1610421036),list(14.510421038)),.Dim=c(1L,3L),.Dimnames=list(NULL,c(“pyro1”,“pyro2”,“pyro3”))
我认为它与我的示例实际情况不同,这几乎是完美的。但是,我需要不同的值排序,如上所述。我刚刚发现了
unlist
,并编写了一些难看的代码,这些代码提供了我正在寻找的格式,有没有办法修改上面的
setNames
代码来创建这样的格式:
testt我认为您应该回到代码的前面部分,而不是试图修复损坏的数据结构。谢谢,对不起,我不知道该怎么设置。我的样品(pyro1-3)是否应成排?然后在列中列出变量?我只是没有足够的经验来了解如何从R开始格式化它们。谢谢,这几乎是完美的。但是,我需要不同的值排序,如上所述。我刚刚发现了
unlist
,并编写了一些难看的代码,这些代码提供了我正在寻找的格式,有没有办法修改上面的
setNames
代码来创建这样的格式:
testt我认为您应该回到代码的前面部分,而不是试图修复损坏的数据结构。谢谢,对不起,我不知道该怎么设置。我的样品(pyro1-3)是否应成排?然后在列中列出变量?我只是没有足够的经验来了解如何从R开始格式化它们。谢谢,这几乎是完美的。我需要不同的值排序,比如abo