【发布时间】:2012-03-12 17:58:47
【问题描述】:
我想创建一个函数 X,它将另一个函数 Y 应用于多个变量。
功能Y
DplotV <- function (id,x){
D <- as.data.frame(cbind(id,x))
x1 <- as.data.frame(D[order(x),])
dotchart(x1$x,labels=id,pch=16)
}
DplotV(mydata$id,mydata$blood)
这基本上通过变量 x 对 id 和变量 x 进行排序并创建一个点图。我还创建了一些代码来命名图表并通过获取 x 变量名称来保存它,我没有在这里包含它。在完整的函数中,我还有其他参数,例如颜色等......因此为每个变量编写函数成为一项重复而漫长的任务。
在处理大型数据集时,最好通过同一个 id 变量绘制多个变量。
有没有办法将上述函数应用于数据集中的每个变量(但总是使用相同的 id 变量?)
理想情况下,我想要一个函数(例如 DplotData),它将 DplotV 应用于数据集中的所有变量(如果可能,除了 id var),这样我就可以只写 DplotData(mydata$id,mydata) 并且该函数将遍历所有数据集变量(在本例中为血液和体重)。
【问题讨论】:
-
您正在重新发明轮子。
dotchart做了你已经描述的事情,只要你正确地组织你的数据。请参阅?dotchart中的示例。另一种选择是使用 ggplot2 或 lattice 进行刻面。 -
stackoverflow.com/questions/9666151/… for 循环正是我们所需要的
-
感谢you