首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bwplot中按列号指定参数?

如何在bwplot中按列号指定参数?
EN

Stack Overflow用户
提问于 2011-11-17 02:14:12
回答 2查看 482关注 0票数 1

这是工作的.

代码语言:javascript
复制
ok <- function(data)
{
    lattice:::bwplot(size ~ mxPH, data=data)
}

> ok(algae)
## no error

I想通过列号指定 size mxPH 。但是,以下内容没有起作用。

第一次尝试

代码语言:javascript
复制
aa <- function(data, n1, n2)
{
    names <- names(data) 
    lattice:::bwplot(names[n1] ~ names[n2], data=data)
} 

> aa(algae,2,4)
Warning message:
In function (x, y, box.ratio = 1, box.width = box.ratio/(1 + box.ratio),  :
  NAs introduced by coercion

第二次尝试(对第一次的小修改)

代码语言:javascript
复制
bb <- function(data, n1, n2) 
{       
    names <- factor(names(data))
    lattice:::bwplot(names[n1] ~ names[n2], data=data)
} 

> bb(algae,2,4)
## no error

第三次尝试(对第二次尝试的小修改)

代码语言:javascript
复制
cc <- function(data, n1, n2)
{   
    names <- factor(names(data))
    lattice:::bwplot(deparse(substitute(names[n1])) ~ deparse(substitute(names[n2])), data=data)
}

> cc(algae,2,4)
Warning message:
In function (x, y, box.ratio = 1, box.width = box.ratio/(1 + box.ratio),  :
  NAs introduced by coercion

数据

代码语言:javascript
复制
algae <- utils:::read.table('http://www.liaad.up.pt/~ltorgo/DataMiningWithR/DataSets/Analysis.txt',
         header=F,
         dec='.',
         col.names=c('season','size','speed','mxPH','mnO2','Cl','NO3','NH4','oPO4','PO4','Chla','a1','a2','a3','a4','a5','a6','a7'),
         na.strings=c('XXXXXXX'))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-17 02:25:47

代码语言:javascript
复制
library(lattice)
bwplot.column <- function(data, n1, n2, xlab = NULL, ylab = NULL, ...)
{
  if (is.null(ylab)) {
    ylab <- names(data)[n1]
  }

  if (is.null(xlab)) {
    xlab <- names(data)[n2]
  }

  bwplot(data[,n1] ~ data[,n2], xlab = xlab, ylab = ylab, data = data, ...)
}
票数 2
EN

Stack Overflow用户

发布于 2011-11-17 02:29:39

您可以引用Michael演示的特定列,也可以手动将公式粘贴到一起:

代码语言:javascript
复制
fun <- function(dat,n1,n2){
    nms <- colnames(dat)
    f <- as.formula(paste(nms[n1],"~",nms[n2]))
    bwplot(f,data = dat)
}

fun(algae,2,4)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8161284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档