String 如何使用原子向量作为R中图形标题的字符串
我试图从R中的z分数矩阵中绘制一个图,我想构建一个函数,使用列标题作为标题的一部分遍历每一列,并将每一个图保存为png。我想我知道如何进行迭代,并将图保存为png,但我一直在使用向量作为字符串。我尝试上载没有列标题的矩阵,然后将矩阵[1]存储为变量“headers”以供使用。然后我试图策划:String 如何使用原子向量作为R中图形标题的字符串,string,r,graph,atomic-values,String,R,Graph,Atomic Values,我试图从R中的z分数矩阵中绘制一个图,我想构建一个函数,使用列标题作为标题的一部分遍历每一列,并将每一个图保存为png。我想我知道如何进行迭代,并将图保存为png,但我一直在使用向量作为字符串。我尝试上载没有列标题的矩阵,然后将矩阵[1]存储为变量“headers”以供使用。然后我试图策划: plot(1:30, rnorm(30), ylim=c(-10,10), yaxs="i", xlab = "Region", ylab = "Z-Score",main = "CNV plot of
plot(1:30, rnorm(30), ylim=c(-10,10), yaxs="i", xlab = "Region", ylab = "Z-Score",main = "CNV plot of " + headers[i], type = "n")
我得到:
Warning message:
In Ops.factor(left, right) : + not meaningful for factors
我尝试不使用“+”,它说:
Error: unexpected symbol in ...
然后我环顾四周,发现了“粘贴(headers[I],collapse=”“),我想我可以替换它,但它只是把数字“28”作为标题
我尝试了另一种可能的解决方案:
plot(1:30, rnorm(30), ylim=c(-10,10), yaxs="i", xlab = "Region", ylab = "Z-Score",main = "Z-scores of " $headers[i], type = "n")
我得到:
Error in "Z-scores of "$headers :
$ operator is invalid for atomic vectors
我是R新手,如果我在谷歌搜索了几个小时后偶然发现了正确的指南/教程,这看起来会很简单,但我真的没有那么多时间。任何建议、指针或解决方案都很好???粘贴(“CNV绘图”,标题[i])
,应该可以工作。如果粘贴的向量长度大于一(头[i]
应为一个长度,即使头
不为一个长度),则只需使用折叠
。与PHP、JS等不同,R没有任何连接运算符(因此+
,&
,
将不起作用,您必须使用粘贴
)
请注意,您的粘贴是粘贴(headers[i],collapse=”“)
,如果刚刚绘制了28
,则表明您的headers
向量不包含您认为它包含的内容(即,如果您不想显示28
)
尝试在矢量中循环并将“粘贴”命令打印到屏幕上,以查看它显示的内容(也可以只打印矢量)。粘贴(“CNV绘图”,标题[i])
,应该可以工作。如果粘贴长度大于一(标题[i]的矢量,则只需折叠
)
应该是一个长度,即使头不是。R没有任何连接运算符,与PHP、JS等不同(因此+
,&
,
不起作用,必须使用粘贴)
请注意,您的粘贴是粘贴(headers[i],collapse=”“)
,如果刚刚绘制了28
,则表明您的headers
向量不包含您认为它包含的内容(即,如果您不想显示28
)
尝试在矢量中循环并将“粘贴”命令打印到屏幕上,以查看它显示的内容(也可以只打印矢量)。如果要将变量中的值插入到绘图标题的字符串中,bquote
是一种方法:
headers <- c(28, 14, 7) # an examle
i <- 1
plot(1:30, rnorm(30), ylim=c(-10,10), yaxs="i",
xlab = "Region", ylab = "Z-Score", type = "n",
main = bquote("CNV plot of" ~ .(headers[i])) )
headers如果要将变量中的值插入到绘图标题的字符串中,bquote
是一种方法:
headers <- c(28, 14, 7) # an examle
i <- 1
plot(1:30, rnorm(30), ylim=c(-10,10), yaxs="i",
xlab = "Region", ylab = "Z-Score", type = "n",
main = bquote("CNV plot of" ~ .(headers[i])) )
headers谢谢!粘贴(“CNV plot of”,headers[i])看起来很像,但它似乎仍然会在标题中打印“28”。但是如果我只是在控制台上键入headers[i],它会打印我想要的名称。它似乎不适合在不同的应用程序中使用,为什么不一致地打印contexts@user3062260,尝试as.character(头[i])
内部粘贴
,虽然它确实应该按原样工作。谢谢!粘贴(“CNV绘图”,标题[i])看起来很像,但它似乎仍然将“28”打印到标题中。但是如果我只是键入标题[i]在控制台上,它打印出我想要的名字。似乎不明白为什么它在不同的环境中使用时打印不一致contexts@user3062260,在粘贴中尝试as.character(headers[i])
,尽管它确实应该按原样工作。预期的绘图标题是什么?预期的绘图标题是什么?