R 函数内的ggplot不会返回带有数据点的散点图,而是带有数据帧值的图。如何解决这个问题?
我正在编写一个函数,在这个函数中,我应该根据函数中生成的两个不同的数据帧,在RStudio中获得返回给我的2个ggplots对象。然而,我得到的是一个包含返回的所有数据帧值的图,而不是一个正常的散点图 我试过:R 函数内的ggplot不会返回带有数据点的散点图,而是带有数据帧值的图。如何解决这个问题?,r,dataframe,ggplot2,plot,return,R,Dataframe,Ggplot2,Plot,Return,我正在编写一个函数,在这个函数中,我应该根据函数中生成的两个不同的数据帧,在RStudio中获得返回给我的2个ggplots对象。然而,我得到的是一个包含返回的所有数据帧值的图,而不是一个正常的散点图 我试过: 返回(列表(df1、df2)) 在您的ggtitles调用中绘制,您的意思可能是: ggtitle(paste("Filtered MD data -", deparse(substitute(dataframe))) 在一个函数中,这将获取传递给dataframe
ggtitles
调用中绘制,您的意思可能是:
ggtitle(paste("Filtered MD data -", deparse(substitute(dataframe)))
在一个函数中,这将获取传递给
dataframe
参数的对象的名称,并将其粘贴到字符串中,而不是将整个dataframe放入其中。在这两种情况下,您的ggtitles都将整个dataframe粘贴到title中,从而挤出整个绘图。你想把数据帧的名称放在里面吗?@KonradRudolph当然,很抱歉,复制不完整。我添加和修改了一些东西,以一种可复制的方式包含整个函数。我还对样本数据做了一些修改,以更好地适应函数。@AndrewBaxter噢,哇,这可能就是这里的问题所在。是的,我想要数据帧的名称there@RonakShah我将尝试一下,并张贴它是否有效!谢谢你advance@Amar该函数适用于我-我正在使用您的数据调用MD\u filter\u trial(df,df$mz\u col)
。它按预期显示一个绘图(并在终端上打印两个结果数据帧)。也就是说,Andrew的答案可能是你想要的:你现在把整个数据框放在标题中,这可能不是你想要的。
Sample data:
structure(list(mz_col= c(99.0001, 99.0056, 99.0079, 99.0097, 99.0105,
99.0116, 99.0158, 99.0169, 99.019, 99.0196, 99.0207, 99.0215,
99.0239, 99.0252, 99.026, 99.0269, 99.0288, 99.0295, 99.0302,
99.0311, 99.0318, 99.0332, 99.034, 99.0346, 99.0355, 99.0376,
99.039, 99.04, 99.0405, 99.0414, 99.0421, 99.043, 99.0444, 99.0473,
99.048, 99.0517, 99.0536, 99.0547, 99.0556, 99.057, 99.0575,
99.0586, 99.0599, 99.0606, 99.0621, 99.0637, 99.0652, 99.0661,
99.0668, 99.0686, 99.0694, 99.0699, 99.0707, 99.0714, 99.072,
99.075, 99.0762, 99.0794, 99.0808, 99.0836, 99.0888, 99.0901,
99.0911, 99.092, 99.095, 99.0962, 99.1001, 99.1064, 99.1173,
99.4889, 99.5059, 99.5084, 99.5126, 99.5158, 99.5165, 99.5173,
99.5183, 99.526, 99.5266, 99.5315, 99.5345, 99.5358, 99.5402,
99.543, 99.5472, 99.548, 99.5529, 99.5572, 99.5577, 99.9408,
99.9551, 99.9599, 99.9646, 99.9718, 99.9887)), row.names = c(NA,
-95L), class = c("tbl_df", "tbl", "data.frame"))
ggtitle(paste("Filtered MD data -", deparse(substitute(dataframe)))