Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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的新手,在过去的两个工作日里,我一直在寻找答案,但都失败了。我有一个由函数生成的因子列表。我在不同长度的列表中有9项 >summary(list_dataframes) Length Class Mode [1,] 1757 factor numeric [2,] 1776 factor numeric [3,] 1737 factor numeric [4,] 1766 factor numeric [5,] 1783 factor

我是R的新手,在过去的两个工作日里,我一直在寻找答案,但都失败了。我有一个由函数生成的因子列表。我在不同长度的列表中有9项

>summary(list_dataframes)
      Length Class  Mode   
 [1,] 1757   factor numeric
 [2,] 1776   factor numeric
 [3,] 1737   factor numeric
 [4,] 1766   factor numeric
 [5,] 1783   factor numeric
 [6,] 1751   factor numeric
 [7,] 1744   factor numeric
 [8,] 1749   factor numeric
 [9,] 1757   factor numeric
数据样本的一部分:

数据帧列表

我不知道为什么它说模式是“数字”。单个条目是数字和字母的混合体,如“S35_at”

我想把它做成一个包含9列和1783行的表,而不需要重复值。(因此,我尝试使用do.call,但它不起作用。我最终得到了一堆副本。)较短的可以在空白处有NAs,也可以是空白的

我需要能够最终得到一些我可以放进电子表格的东西

一定有办法做到这一点。谢谢大家!

我想我应该加上它最初是作为数据帧出现的,当时我有四列数据,但我只需要一列数据,当我将创建此列表的函数子集为仅创建我实际需要的一列时,它似乎不再是数据帧

dput(head(list_dataframes))
list(structure(c(3605L, 5065L, 3663L, 4349L, 1655L, 2700L, 5692L, plus many more
.Label = c("1769308_at", 
"1769311_at", "1769312_at", "1769313_at", "1769314_at", "1769317_at", plus many more
this pattern is repeated nine more times
我想做的是生成一个如下所示的表:

a= xyz,tuv,efg,hij,def
b= xyz,tuv,efg
c= tuv,efg,hij,def
我要做的是一张桌子

a    b    c
xyz  xyz  tuv
tuv  tuv  efg
efg  efg  hij
hij  NA   NA
NA   NA   NA

NA could be blank as well.
在阅读了很多关于列表的手册部分之后,我确定我已经生成了一个隐藏的列表列表。它有九个项目,我想把数据埋在下面两层,也就是说,为了看到它,我必须使用[[1]]。此外,由于R中的某些内容导致单列数据帧成为一个因素,而不是停留在数据帧中,因此变得更加复杂。为了解决这个问题(某种程度上),我在等式中增加了一个步骤,这样我就把这个因子变成了一个数据帧

之后,当我使用Lappy生成结果时,至少因子问题得到了解决。然后,我可以使用以下步骤拉出数据帧

first <- list_dataframes[[1]]
second <- list_dataframes[[2]]
third <- list_dataframes[[3]]
fourth <- list_dataframes[[4]]
fifth <- list_dataframes[[5]]
sixth <- list_dataframes[[6]]
seventh <- list_dataframes[[7]]
eighth <- list_dataframes[[8]]
nineth <- list_dataframes[[9]]

all_results <- cbindX(first,second,third,fourth,fifth,sixth,seventh, eighth,nineth)

first因子类变量是整数模式的向量,带有一个附加属性,该属性是一个字符向量,用于指定显示整数值时使用的标签。我认为将这些绑定在一起最安全的方法是将因子列转换为字符类,然后使用
all=TRUE
合并
。为什么不发布一个包含三个数据帧或因素的简单示例。。。实际上,我无法从摘要输出中确定结构。。。长度为10、9和8,数据中的复杂程度如何

如果要使它们都具有一组通用的级别,请使用以下方法:

 shared_levels <- unique( c( unlist( lapply(list_dataframes) ) ) )
 length(shared_levels)
 new_list <- lapply(list_dataframes, factor, levels=shared_levels)

shared_levels可能会发布一个可复制的示例,显示数据集的一个子集,可能有10-20行。该数据中的重叠程度非常有限。您最初的描述表明存在高度重叠。想澄清一下吗?我正在做的事情的清单有一定的价值,使它们变得重要。这些子集都来自同一个较大的4500个集合,它们之间有一些重叠,但不是很多。do.call中重复项的问题是,在最后的列集中,我将有50或60个重复项。我可以手动将它们从电子表格中删除,但这会破坏学习编程的意义。我还不明白你想要什么。您说您想要“一个包含九列和1783行的表,而不产生重复的值”,但您对数据情况的描述似乎使这不可能。试着用一个较小的因子列表来说明你想要什么,比如长度8、9和10,它们只有几个共同的值。我不知道如何按照您的要求组织这些内容,但有时一个具体的示例可以帮助我克服概念上的障碍。我曾尝试更改“将因子列转换为字符”类,但我只能更改模式。我应该怎么做?你应该发布
dput(head(object))
,这样就有了一个可复制的例子。打印输出不表明这些是因素,因为未打印任何级别。将因子转换为字符的函数是
as.character
。它生成了一个非常大的文件,我甚至可以开始在这里发布。我添加了一个短子集。我还重新阅读了关于列表的手册,因为我认为解决方案就在那里。我尝试了你的解决方案,得到了“匹配中的错误。乐趣(乐趣):参数“乐趣”丢失,没有默认值“我很抱歉,如果这是因为我不知怎么搞砸了。”。但你的另一个评论让我思考,它确实让我找到了一个即使我不这么做也有效的解决方案;I don’我不认为这是最好的办法。谢谢你的建议。我真的很感激。
 shared_levels <- unique( c( unlist( lapply(list_dataframes) ) ) )
 length(shared_levels)
 new_list <- lapply(list_dataframes, factor, levels=shared_levels)