包测试时意外输入

时间:2015-08-04 14:54:45

标签: r

在测试包的功能时,我得到了这个.out

* installing *source* package 'trib' ...
** R
Error in parse(outFile) : 
C:R/trib.Rcheck/00_pkg_src/trib/R/tribF.R:48:27: unexpected input
47: 
48:     CF[i]<-mean(All[[i]]$μ
                          ^
ERROR: unable to collate and parse R files for package 'trib'

问题是μ(mu)符号。我的所有文件都有它,我可以使用这些功能。我也想在包中使用该功能,以便我的同事可以使用csv文件。

功能在

之下
trib.CoF <- function(x) { #gets file name length input returns coeficient of friction in bar plot generates global var CF

namesAll<-trib.names(x)
CF <<- vector(mode = "numeric")     #generate vector for values
for (i in 1:l_All){

CF[i]<-mean(All[[i]]$μ)}             #get all coefficient of friction data into CF

names(CF)<-namesAll
barplot(CF,main="Average Friction Coefficient",
      xlab="Samples",ylab="μ",xlim=c(0,length(CF)*1.25+1), ylim = c(0,1.2*max(CF)),col=c(1:l_All))    #generate bar plot
legend("topright", legend=signif(CF,6),col=c(1:l_All),pch=16,cex=0.8)                                 #add legends

}

看起来像this question,但我找不到解决方案。

1 个答案:

答案 0 :(得分:2)

我找到了解决自己问题的方法。这是一种解决方法,但取决于表结构。考虑我的表是这样的

Time    Distance     Laps      µ          FrictionForce
0,100   0           0,00000   0,18478       0,55435

μ是第4列。因此,我不会使用它的名称,而是使用它的数字。我会改变

CF[i]<-mean(All[[i]]$μ)}             #get all coefficient of friction data into CF

CF[i]<-mean(All[[i]][[4]])} #get all coefficient of friction data into CF

这将消除非ASCII字符错误,因此我可以编译为包。我可能必须为输入结构编写一个表检查函数,但是在手册中描述它并给出一个数据集就足够了。