如何从 Excel 或记事本(以 .txt 结尾的文档)将数据加载到 Win Bugs 中?
Posted
技术标签:
【中文标题】如何从 Excel 或记事本(以 .txt 结尾的文档)将数据加载到 Win Bugs 中?【英文标题】:How do I load data into Win Bugs from Excel or from Notepad (doc ending with .txt)? 【发布时间】:2013-04-28 17:14:08 【问题描述】:我需要从 Excel 将一些数据加载到 WinBugs 中,但由于某种原因,Winbugs 无法识别它。我尝试了很多东西(所有这些都在下面列出),但这些都不起作用。
我尝试从 Excel 复制并将“选择性粘贴”作为“纯文本”复制到 WinBugs。我在每个变量之后添加了[]
,甚至在最后添加了'END'
。错误信息如下:
抱歉,模块
BugRectData
中的过程LoadNumeric Data
出了点问题
我复制并粘贴到记事本中,在每个变量之后添加[]
,甚至在末尾再次添加'END'
,然后删除行之间的所有空格,每个数据之间只有一个空格。当我将它拖到 Winbugs 中时,它分散在行之间的双倍空间中,数据之间的间隙很大,并且出现错误消息(尝试加载数据时):
抱歉,模块
BugRectData
中的过程LoadNumeric Data
出现问题
我做的最后一件事是将 .txt 文件打开到 Winbugs 中,它变得一团糟,当我尝试加载数据时,它突出显示了一些数据,例如 NA2.0
应该是 NA 2.0
并说它“期望一个数字或一个 NA 或 END”。纠正这些错误后,数据看起来还不错,直到它显示 'END'
的结尾处,它说了同样的话,只是在 END
上突出显示了 E
。
如果有人能提供任何见解,我将不胜感激。
【问题讨论】:
【参考方案1】:如果您已包含数据集的一部分,则回答会更容易,因为您已将其包含在 Winbugs 复合文档中。如 Winbugs 手册 (http://www.mrc-bsu.cam.ac.uk/bugs/winbugs/manual14.pdf) 中所述,数据可以 S-plus 格式或矩形格式输入。矩形格式具有以下形式:
Y[] x[]
5 4.1
3 2.1
4 3.5
END
S-plus 格式(例如):
list(Y=c(5,3,4),x=c(4.1,2.1,3.5))
您是否专门尝试过这些并使用完全正确的语法?在矩形格式中,数组的长度必须相等,并且都必须有一个标题。
我不会直接从 excel 复制/粘贴到 winbugs,因为会出现各种奇怪的格式。尝试先将数据复制到 .txt 或另存为制表符分隔的 .csv。在将文件插入 Winbugs 之前检查文件是否正常,例如使用“特殊粘贴”和纯文本。
【讨论】:
【参考方案2】:来自:↨here 下载文件“writeDatafileR.txt”。详情请戳a link!
用 R 写:
source("writeDatafileR.txt")
鉴于 df 是一个 data.frame,请在 R 命令提示符下键入:
writeDatafileR(df," df.txt")
这将创建一个文件“df.txt”,其中包含我们可以复制并粘贴到我们的 Winbugs 代码中的数据。
【讨论】:
以上是关于如何从 Excel 或记事本(以 .txt 结尾的文档)将数据加载到 Win Bugs 中?的主要内容,如果未能解决你的问题,请参考以下文章