功能注册。其他做以下事项: (1)采用26列的数据帧 (2)将第1-2列的类更改为因子 (3)将第3-26列的类更改为数字 (4)将列27创建为列3-26的总和 (5)删除除1和27之外的所有列 (6)更改第2列的列名
但是当我调用该函数时,会出现以下错误:
z< - enrollment.other(OBC) 警告信息: 在colnames(x)[2]< - sprintf("%sENRL",name)中: 要替换的项目数量不是替换长度的倍数
enrollment.other <- function(x){
x[, 1:2] <- as.data.frame(sapply(x[, 1:2], as.factor))
x[, 3:26]<- as.data.frame(sapply(x[, 3:26], as.numeric))
x[, 27] <- rowSums(x[, c(3:26)])
x <- as.data.frame(x[, c(1, 27)])
name <- deparse(substitute(x))
colnames(x)[2] <- sprintf("%sENRL", name)
as.data.frame(x)
}
答案 0 :(得分:1)
我们可以使用set(ax(1),'YLim',[25.072 25.472])
set(ax(2),'YLim',[3.97 4.03])
match.call
或者,如果我们需要使用 enrollment.other <- function(x){
x[1:2] <- lapply(x[, 1:2], as.factor)
x[3:26]<- lapply(x[3:26], as.numeric)
x[27] <- rowSums(x[3:26])
x <- x[c(1, 27)]
name <- as.character(match.call()[[2]])
colnames(x)[2] <- sprintf("%sENRL", name)
x
}
enrollment.other(d1)
# V1 d1ENRL
#1 3 111
#2 3 117
#3 7 98
#4 5 118
#5 6 107
#6 9 109
#7 3 129
#8 7 124
#9 8 107
#10 3 130
deparse(substitute
enrollment.other <- function(x){
name <- deparse(substitute(x))
x[1:2] <- lapply(x[, 1:2], as.factor)
x[3:26]<- lapply(x[3:26], as.numeric)
x[27] <- rowSums(x[3:26])
x <- x[c(1, 27)]
colnames(x)[2] <- sprintf("%sENRL", name)
x
}