如何使用用户创建的R函数中指定的参数?

时间:2017-11-27 05:19:12

标签: r function

这似乎是一个基本问题;但是,我不确定我是否无法说出我的问题来寻找我需要的答案。 这是样本:

id2  sbp1 dbp1 age1 sbp2 dbp2 sex     bmi1     bmi2 smoke drink exercise
1   1 134.5 89.5   40  146   84   2 21.74685 22.19658     1     0        1
2   4 128.5 89.5   48  125   70   1 24.61942 22.29476     1     0        0
3   5 105.5 64.5   42  121   80   2 22.15103 26.90204     1     0        0
4   8 116.5 79.5   39  107   72   2 21.08032 27.64403     0     0        1
5   9 106.5 73.5   26  132   81   2 21.26762 29.16131     0     0        0
6  10 120.5 81.5   34  130   85   1 24.91663 26.89427     1     1        0

我在这里有这个代码用于我正在制作的函数:

linreg.ols<- function(indat, dv, p1, p2, p3){
    data<- read.csv(file= indat, header=T)
    data[1:5,]
    y<- data$dv
    x <- as.matrix(data.frame(x0=rep(1,nrow(data)), x1=data$p1, x2=data$p2, 
         x3=data$p3))
    inv<- solve(t(x)%*%x)
    xy<- t(x)%*%y
    betah<- inv%*%xy
    print("Value of beta hat")
    betah
}

当我用这一行运行我的代码时:

linreg.ols("bp.csv",sbp1,smoke,drink,exercise)

我收到以下错误:

Error in data.frame(x0 = rep(1, nrow(data)), x1 = data$p1, x2 = data$p2,  : 

参数意味着不同的行数:75,0

我有一种感觉,因为我在创建x变量的行上提取p1,p2和p3列。

编辑:更改为y&lt; -data $ dv 编辑:添加部分样本。另外,我试过了:

x <- as.matrix(data.frame(1,data[,c("p1","p2","p3")]))

但是那返回了错误:

Error in `[.data.frame`(data, , c("p1", "p2", "p3")) : undefined columns selected

0 个答案:

没有答案