如何在for循环中绘制曲线图?

时间:2019-02-13 19:14:41

标签: r

简而言之,我试图将一些机器学习技术应用于棋盘图像的示例,该示例是从R的rchess包获得的,但是我无法获得图像,实际上,根本没有,带有一个简单的for循环。我将尝试尽可能地解释它,因为它可能需要国际象棋和/或rchess软件包的一些背景知识。

当提供FEN表示法的棋盘时,rchess软件包能够输出类似于棋盘的图像(可以选择ggplot棋盘)。 FEN表示法是“ 8/8/8/8/8 / 1R6 / 2k5 / K7 w-c6 1 30”类型的字符串,其中前8个用“ /”分隔的值是指电路板的行,字母表示字母,数字表示每行空白方块的数量以及以下字符是此处不相关的参数。我有一个相当大的国际象棋静态位置数据集(为方便起见,只有残局),并且我做了一个函数,以数据集的一行的国际象棋代数符号作为输入,返回相应FEN的字符串。在rchess软件包的markdown中,可以通过执行以下操作将此FEN符号分配给变量fen(例如)

fen<-fenfunction(1) #This is my function 
chss <- Chess$new(fen)
plot(chss, type = "ggplot")

,它将返回棋盘上数据集第1行中的位置。也可以通过简单的ggchessboard(fen)来完成,但是以前的方法更具说明性。到目前为止,一切都很好。当尝试通过for循环绘制数据集的各行时,就会出现问题,即:

for(j in 1:nrow(dat)){

  fen<-fenfunction(j)    
  chss <- Chess$new(fen)    
  plot(chss, type = "ggplot")    

}

这只是实现此目的的一种可能方法,但是我尝试了几种,但它们都没有给出任何输出或绘图,甚至没有警告。它只是不返回任何内容。由于该函数本身在for循环中执行时可以令人满意地工作,因此我认为问题在于这样一个事实,即所创建的chss变量(以及rchess包框架中的任何变量)的类型都是“环境”(或类环境)。可能这种操作对于R或类似的环境是荒谬的,仅将其转换为任何其他类都可以解决我的问题。

我对这种语言并不陌生,但是我既不是专家,也不是高级用户,我也不知道这是否有意义,我对直接环境类型的变量没有任何经验,也不知道为什么此for循环不起作用。我希望我的问题是可以理解的(尽管我很难用这么短的句子来表达我的问题),并且我很感谢任何关于如何处理所有这些问题的评论。真是太棒了,我只是想念一些琐事,你们中的一个可以轻松地向我指出,因为我有这种感觉。

0 个答案:

没有答案