C语言中Cannot open include file: 'R.h': No such file or directory怎么解决 以及PROTECT()有什么作用 10
#include<R.h>#include<Rinternals.h>#include<Rmath.h>SEXPget_coef(SEXPcft,SEXPdel,SEXP...
#include <R.h>
#include <Rinternals.h>
#include <Rmath.h>
SEXP get_coef(SEXP cft, SEXP del, SEXP z, SEXP nsub) {
R_len_t n = INTEGER(nsub)[0], n0 = nrows(z), p = ncols(z), i, i0, j;
int *r_del = INTEGER(del), *ind;
double *r_cft = REAL(cft), *r_z = REAL(z), *r_b, *r_x, *r_v, *work, s, t;
SEXP ans;
ind = (int *) R_alloc(n, sizeof(int));
work = (double *) R_alloc(n, sizeof(double));
for (i = 0; i < n; i++) {
ind[i] = i; work[i] = r_cft[i];
}
R_qsort_I(work, ind, 1, n);
PROTECT(ans = allocVector(VECSXP, 3));
SET_VECTOR_ELT(ans, 0, allocVector(REALSXP, p)); r_b = REAL(VECTOR_ELT(ans, 0));
SET_VECTOR_ELT(ans, 1, allocM。。。。。。。 展开
#include <Rinternals.h>
#include <Rmath.h>
SEXP get_coef(SEXP cft, SEXP del, SEXP z, SEXP nsub) {
R_len_t n = INTEGER(nsub)[0], n0 = nrows(z), p = ncols(z), i, i0, j;
int *r_del = INTEGER(del), *ind;
double *r_cft = REAL(cft), *r_z = REAL(z), *r_b, *r_x, *r_v, *work, s, t;
SEXP ans;
ind = (int *) R_alloc(n, sizeof(int));
work = (double *) R_alloc(n, sizeof(double));
for (i = 0; i < n; i++) {
ind[i] = i; work[i] = r_cft[i];
}
R_qsort_I(work, ind, 1, n);
PROTECT(ans = allocVector(VECSXP, 3));
SET_VECTOR_ELT(ans, 0, allocVector(REALSXP, p)); r_b = REAL(VECTOR_ELT(ans, 0));
SET_VECTOR_ELT(ans, 1, allocM。。。。。。。 展开
4个回答
展开全部
你可能把名字搞错了,库里不存在R.h这个头文件。
追问
R_qsort_I(work, ind, 1, n);请问这个排序过程 怎么排的 谢谢 能不能帮我查一下
追答
你得把R_qsort_I的函数体贴上来,不然神仙也不知道怎么排
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件有误,没这个库
追问
R_qsort_I(work, ind, 1, n);请问这个排序过程 怎么排的 谢谢 能不能帮我查一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额 这个百度一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询