2
我想知道解决一个重复出现问题的最有效的技术。R基于二进制列变量在多列上运行多个函数
我在电子表格/ csv格式许多数据块中,具有这种形式的(0,1为T/F变量):
id_code, age, heart_disease, weight, gender, operated, survived, ct_scan, days_hospitalized,
1332, 43.2, 1, 213, m, 0, 1, 1, 12
22322, 76.4, 0, 125, f, 1, 0, 0, 45
995, 55, 1, 199, m, 0, 1, 0, 34
为了在,比方说对连续变量在测试执行,幸存者与非幸存者:
myfx1 <- function(x) {t.test((x), mydat$survived)}
myfx1(mydat$age)
myfx1(mydat$weight)
然后我用另一个变量替换'存活'并重复。
为了做好应急交叉表中的幸存者与非幸存者,
myfx2 <- function(x) {xtabs(~mydat$survived+x, data=mydat)}
myfx2(mydat$gender)
myfx2(mydat$operated)
我已经试过plyr和doBy;许多示例总是使用均值/方差或其他简单函数来演示使用情况。什么是处理大量变量的最简单最有效的方法?
谢谢 - 我试过这个和变种(查看colwise后),如下所示。没有工作。的误差都印有尝试: 1. colwise(myfx1)(mydat [2]) - > 错误:is.data.frame(DF)是不是TRUE 2. colwise(.myfx1,.mydat (.myfx1,.mydat $ age):找不到对象'.age' – CLS 2012-04-03 00:47:43
3. colwise { stopifnot(is.data.frame(DF)) DF < - strip_splits(DF) 过滤< - 滤波器(DF) 如果(长度(过滤后)== 0) 回报(data.frame()) df < - quickdf(lapply(filtered,.fun,...)) names(df)< - names(filtered) DF } <环境:0x1055ab758> 4. colwise(myfx1,mydat $年龄) 相同的错误3 4. colwise(myfx1)(mydat [,年龄]) - > 错误'[ .data.frame'(mydat,age):object'age'not found 5. colwise(myfx1)(mydat [,mydat $ age]) - > 错误'[.data.frame'(mydat, ,mydat $ age):undefined columns selected – CLS 2012-04-03 00:50:42
6. ddply(mydat,.age,colwise(myfx1)) - > “t.test.default((x),NEC $ Survived中的错误):not enough'x '意见 另外:警告信息: 在mean.default(x)中:argume nt不是数字或逻辑:返回NA“ 7. ddply(mydat,,colwise(myfx1,age)) 8. ddply(mydat,,colwise(myfx1,.age)) – CLS 2012-04-03 00:50:53