这个问题比类似的here更先进。预计的字符数量大约为20个。
当我在data.frame中绘制内容时,我会这样做:
# t1 is a df
> plot((q1*s1+q2*s2)/(s1+s2),data=t1)
但是我可以将此表单重用于矩阵吗?
[最后工作MVO,谢谢!]
> M<-matrix(data=rnorm(30),ncol=2,dimnames=list(NULL,c('q1','q2')))
> plot(M)
> x=1:dim(M)[1]
> plot(x~q1/q2,data=data.frame(M),type='l')
答案 0 :(得分:1)
这种绘图(您输入涉及数据框列的公式)只适用于数据框。
如果colnames(mymatrix)
是q1
,s1
等,那么您可以通过以下方式实现效果:
plot( myformula, data=data.frame(mymatrix))
即,将矩阵强制转换为数据帧,然后使用公式。
证明这一点的一个例子:
# construct a matrix
> mymatrix <- array(runif(10*2),dim=c(10,2))
# give it column names X and Y
> colnames(mymatrix)<-c('X','Y')
> mymatrix
X Y
[1,] 0.07346608 0.81321578
[2,] 0.09525474 0.17852467
[3,] 0.81246522 0.45747972
[4,] 0.01286714 0.82517127
[5,] 0.77554012 0.87725725
[6,] 0.71908435 0.71628493
[7,] 0.13212848 0.67827601
[8,] 0.65993809 0.01650703
[9,] 0.11385161 0.99433644
[10,] 0.22750439 0.45611635
# plot Y vs X -- note you need to convert the matrix to a data frame first.
> plot(Y~X,data.frame(mymatrix))
答案 1 :(得分:1)
您可以将与一起使用
with(data.frame(mymatrix), plot((q1*s1+q2*q2)/(s1+s2)))
希望这个帮助