cuốn sách gpt4 ai đã làm

Đọc danh sách R từ hàm tạo sẽ đưa ra lỗi: mong đợi một giá trị duy nhất

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 07:52:06 26 4
mua khóa gpt4 Nike

Tôi đang biên dịch một gói bằng Rcpp/RcppArmadillo và tôi gặp phải một lỗi mà tôi cho là xuất phát từ tiêu đề Rcpp as.h. Tôi đã viết một hàm tạo lấy danh sách từ R và tạo lớp thích hợp. Hàm gọi hàm tạo và hàm tạo thực tế được hiển thị bên dưới. Tôi đang cố gắng làm theo mã được hiển thị ở đây (http://adv-r.had.co.nz/Rcpp.html).

#include "varInf.h"

//[[Rcpp::depends(RcppArmadillo)]]
//[[Rcpp::export]]
void varInfInput(Rcpp::List model_r)
{
mô hình mm_model = mm_model(model_r);
varInfC(model);
}

Đây là hàm tạo mm_model.h có trong varInf.h

sử dụng không gian tên Rcpp;
sử dụng vũ khí không gian tên;
lớp mm_model
{
public:
int T ;
int J ;
IntegerVector Rj;
int maxR;
IntegerVector Nijr;
int maxN;
int K ;
IntegerVector Vj;
int maxV;
SốVector alpha;
NumericVector theta;
IntegerVector Z ;
LambaVector số;
NumericVector phi;
Đồng bằng sốVector;
NumericVector obs;
int dist;

mm_model(Danh sách mô hình)
{
T = (int) mô hình[0];
J = (int) mô hình [1];
Rj = as(model[2]);
maxR = max(Rj);
Nijr = as(model[3]);
maxN = max(Nijr);
K = (int) mô hình [4];
Vj = as(model[5]);
maxV = max(Vj);
alpha = as(model[6]);
theta = as(model[7]);
Z = as(model[8]);
lambda = as(model[9]);
phi = as(model[10]);
delta = as(model[11]);
obs = as(model[12]);
dist = (int) mô hình [13];
}
}

Khi tôi gọi (trình bao bọc được tạo tự động) varInfInput từ R, nó sẽ đưa ra lỗi sau.

Lỗi: mong đợi một giá trị duy nhất 
3 điểm dừng(cấu trúc(danh sách(tin nhắn = "đang mong đợi một giá trị", call = NULL,
cppstack = NULL), .Names = c("tin nhắn", "gọi", "cppstack"
), class = c("Rcpp::not_compire", "Lỗi C++", "lỗi", "điều kiện"
)))
2 varInfInput(output) tại varInfFit.R#14
1mmVarFit(test_model)

Tôi chưa quen với điều này và đã cố gắng đọc càng nhiều càng tốt, vì vậy ngay cả những trích dẫn về điều gì đó có thể hữu ích cũng sẽ được đánh giá cao.

câu trả lời hay nhất

Tôi nghĩ tôi đã giải quyết được vấn đề của mình. Khi tôi đọc int, chúng vẫn được đọc dưới dạng đối tượng SEXP, tôi không thể chỉ định kiểu chúng thành int. Khi tôi sử dụng

T = as(model[0])[0]; 

Có vẻ như nó hoạt động như mong đợi

Về c++ - đọc danh sách R từ hàm tạo đưa ra lỗi: mong đợi một giá trị duy nhất, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26616250/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress