我理解,如果表的一个元素是列表,我们就无法导出该表.我在R中得到了一个列表,我想将其导出为CSV或TXT文件.以下是执行此write.table命令时收到的错误消息:

write.table(mylist,"test.txt",sep=";")

Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol,  : 
unimplemented type 'list' in 'EncodeElement'

以下是我列表中的第一个元素:

$f10010_1
$f10010_1$mots
 [1] X16               ESPRESSO          TDISC             TASSIMO          
 [5] CARTE             NOIRE             A                 LAVAZZA          
 [9] MALONGO           MIO               MODO              123              
[13] CAPSULES          DOSES             78G               LONG             
[17] SPRESSO           CAFE              120G              CLASSIC          
[21] 104G              128G              AROMATIQUE        INTENSE          
[25] 112G              156G              520G              5X16             
[29] PROMO             TRIPACK           X24               126G             
[33] 16                4X16              APPASSIONATAMENTE APPASSIONATEMENTE
[37] BRESIL            CAPSUL            COLOMBIE          CORSE            
[41] CREMOSAMENTE      DELICATI          DELIZIOSAMENTE    DIVINAMENTE      
[45] DOLCEMENTE        EQI               GRAND             GRANDE           
[49] GT                GUATEMALA         HAITI             INTENSAMENTE     
[53] ITALIAN           MAGICAMENTE       MERE              MOKA78G          
[57] PETITS            PRODUCT           PURSMATIN         RESERVE          
[61] RISTRETO          SOAVEMENTE        STYLE             X36              
64 Levels: 104G 112G 120G 123 126G 128G 156G 16 4X16 520G 5X16 78G ... X36

$f10010_1$nblabel
 [1] 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
[27] 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
[53] 32 32 32 32 32 32 32 32 32 32 32 32
Levels: 32

$f10010_1$Freq
 [1] 18 16 16 15 14 14  9  9  9  9  9  8  8  8  7  7  7  6  5  5  3  3  3  3  2  2
[27]  2  2  2  2  2  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
[53]  1  1  1  1  1  1  1  1  1  1  1  1

$f10010_1$pct
 [1] 0.56250 0.50000 0.50000 0.46875 0.43750 0.43750 0.28125 0.28125 0.28125
[10] 0.28125 0.28125 0.25000 0.25000 0.25000 0.21875 0.21875 0.21875 0.18750
[19] 0.15625 0.15625 0.09375 0.09375 0.09375 0.09375 0.06250 0.06250 0.06250
[28] 0.06250 0.06250 0.06250 0.06250 0.03125 0.03125 0.03125 0.03125 0.03125
[37] 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125
[46] 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125
[55] 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125 0.03125
[64] 0.03125

推荐答案

所以本质上你有一个列表列表,mylist是主列表的名称,第一个元素是$f10010_1,它被打印出来(包含4个列表).

我认为最简单的方法是使用lapply加上dataframe(假设主列表中每个元素内的每个列表(如$f10010_1中的列表)具有相同的长度):

lapply(mylist, function(x) write.table( data.frame(x), 'test.csv'  , append= T, sep=',' ))

上面的步骤将$f10010_1转换为一个数据帧,然后对其他元素执行相同的操作,并在"test"中将一个元素附加到另一个元素的下面.csv'

您还可以在控制台上键入?write.table,以判断在将表格写入csv文件时需要传递的其他参数,例如,您是否需要行名或列名等.

R相关问答推荐

R中的滞后累积量

geom_Ribbon条件填充创建与数据不匹配的形状(ggplot 2 r)

具有多个依赖变量/LHS的逻辑模型

如何在ggplot 2线性图的每个方面显示每个组的误差条?

r—绘制相交曲线

如何根据组大小应用条件过滤?

然后根据不同的列值有条件地执行函数

R Sapply函数产生的值似乎与for循环方法略有不同

如何使下一个按钮只出现在Rshiny 的一段时间后?""

仅在R中的数据集开始和结束时删除所有 Select 列的具有NA的行

R:如果为NA,则根据条件,使用列名模式将缺少的值替换为另一列中的值

减go R中列表的所有唯一元素对

如何将一些单元格的内容随机 Select 到一个数据框中?

变长向量的矢量化和

错误包arrowR:READ_PARQUET/OPEN_DATASET&QOT;无法反序列化SARIFT:TProtocolException:超出大小限制&Quot;

无法将条件case_when()应用于使用!!创建的新变量Mutations

访问数据帧中未定义的列时出现R错误

如何在Quarto中使用美人鱼图表中的标记来加粗文本

计算多变量的加权和

从两个数据帧中,有没有办法计算R中一列的唯一值?