我正在尝试使用Ryacas
中的包R
。这是怎么回事:
> install.packages("Ryacas")
--- Please select a CRAN mirror for use in this session ---
trying URL 'http://www.stats.bris.ac.uk/R/bin/windows/contrib/2.14/Ryacas_0.2-11.zip'
Content type 'application/zip' length 263424 bytes (257 Kb)
opened URL
downloaded 257 Kb
package ‘Ryacas’ successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\Documents and Settings\yogcal\Local Settings\Temp\RtmpKeuu7m\downloaded_packages
然后我尝试加载Ryacas
:
> library(Ryacas)
Loading required package: XML
C:\Program Files\R\R-2.14.1\library\Ryacas\yacdir\yacas.exe
or C:\Program Files\R\R-2.14.1\library\Ryacas\yacdir\scripts.dat
not found.
Run yacasInstall() without arguments to install yacas.
然后我运行yacasInstall()
:
> yacasInstall()
trying URL 'http://ryacas.googlecode.com/files/yacas-1.0.63.zip'
Content type 'application/x-zip' length 746009 bytes (728 Kb)
opened URL
downloaded 728 Kb
然后当我尝试一个例子时:
> library(Ryacas)
> yacas("TeXForm(3 * x^2/(2 * (x + 1)) - (x^3) * 2/(2 * (x + 1))^2)",
+ retclass = "unquote")
[1] "Starting Yacas!"
Error in socketConnection(host = "127.0.0.1", port = 9734, server = FALSE, :
cannot open the connection
In addition: Warning message:
In socketConnection(host = "127.0.0.1", port = 9734, server = FALSE, :
127.0.0.1:9734 cannot be opened
>
这里出了什么问题?
非常感谢...
答案 0 :(得分:0)
两种可能性:1)Yacas从未开始。 (R不会为您加载Yacas。)2)连接被阻止。假设您从操作系统启动了Yacas,那么您需要使用安全管理工具打开该端口。这不是R问题,而是操作系统/防火墙问题。
我可能错误地需要从“开始”菜单启动Yacas。这是代码:
runYacas()
### You should not need to type any of what follows. Just use the command above.
runYacas <- function(method = "system", yacas.args = "", yacas.init = "") {
cmd <- yacasInvokeString(method = method, yacas.args = yacas.args, yacas.init = yacas.init)
if (.Platform$OS.type == "windows")
system(cmd, wait = FALSE, invisible = FALSE)
else system(cmd, wait = FALSE)
}
由于它似乎调用了系统,我会在你的R提示符下尝试。
答案 1 :(得分:0)
解决问题的一种方法是确保端口处于打开状态:
1)点击Windows Start
2)点击All Programs
3)点击Accessories
4)单击Command Prompt
打开DOS窗口
5)通过键入cd C:\Program Files\yacas\winrel
6)键入yacas --server 9734
7)Yacas应该给你以下反馈Accepting requests from port 9734
如果一切正常,那么yacas正在运行并准备好说话。现在,您可以运行R代码。如果它不起作用,那么你就会遇到yacas的问题。