JMP에서 R로 날짜를 문자로 보내는 법모든,
나는 R에 존재하는 일부 금융 기능을 활용하려고 노력하고있다. 함수는 날짜를 문자로 전달해야합니다. 아무도 날 JMP에서 R에 받아 들일 수있는 형식으로 날짜를 전달하는 방법에 나를 안내 할 수 있습니다.
@ih (특별 언급)
# Working R Code
library(tvm)
CF1 <- c(-100,20,40,25,8,15)
d1 <- as.Date(c("2016-01-01","2016-04-01","2016-10-01","2017-02-01","2017-03-01","2017-06-01"))
Res <- vector()
Res <- sapply(1:length(d1), function(i) {xnpv(i,CF1[i:length(CF1)],d1[i:length(d1)])})입력을 JMP에서 R로 전달해야한다는 점을 제외하고는 똑같은 일을하고 싶습니다.
현금 흐름 (CF1)은 직선 벡터이며 지나가는 데 문제가 없지만 날짜는 까다로운 부분입니다.
위에 표시된 문자로 날짜 형식을 지정해야하는 경우 R의 XNPV 함수.
비록 JMP에서 날짜를 문자로 형식화하지만, RI에 전달할 때 올바르게 전달되고 있다고 생각하지 않습니다.
R Send(DatesInJMP)
d1 <- as.Date(DatesInJMP)
R Get(d1)
- "as.Date.default (DatesInJMP)"오류가 발생합니다 - 클래스 "Date"로 변환하는 방법을 모릅니다.
Re : JMP에서 R로 날짜를 보내는 방법R :
그만큼 <FONT face="Courier New"> as.Date </FONT> 메서드는 문자열, 인수, 논리식을 허용합니다. <FONT face="Courier New"> 없음 </FONT> 수업의 물건들 <FONT face="Courier New"> " </FONT><A href="http://127.0.0.1:46214/help/library/base/help/POSIXlt" target="_blank" rel="nofollow noopener noreferrer"><FONT face="Courier New"> POSIXlt </FONT></A><FONT face="Courier New"> " </FONT> 과 <FONT face="Courier New"> " </FONT><A href="http://127.0.0.1:46214/help/library/base/help/POSIXct" target="_blank" rel="nofollow noopener noreferrer"><FONT face="Courier New"> POSIXct </FONT></A><FONT face="Courier New"> " </FONT>
DatesInJMP는 문자열 벡터 대신 문자열 목록으로 표시됩니다. 아래 코드는이를 확인한 다음 문자 벡터로 먼저 캐스팅하여 문제를 해결합니다.
날짜와 시간을 숫자로 보낼 수도 있습니다. JMP에서 시간대가 부족한 이유는 UTC로 값을 가져와야하기 때문입니다. 그런 다음 필요할 경우 현지 시간으로 오프셋 할 수 있습니다. 나는 그런 일을 윤활유로한다. 또는 R로 보내기 전에 JMP에서 오프셋을 할 수 있습니다.
Names default to here( 1 );
DatesInJMP = { "2017-01-01", "2017-01-02", "2017-01-03" };
R Init();
R Send( DatesInJMP );
R Submit( "str(DatesInJMP)");
R Submit( "dt <- as.Date(as.character(DatesInJMP))" );
Write("\!N"); //New line so log is easier to read
R Submit( "str(dt)");
Write("\!N");
//Send a number instead
JMPTime = num( Today() );
R Send( JMPTime );
R Submit( "Date_POSIX <- as.POSIXct( JMPTime, origin = '1904-01-01', tz = 'GMT')");
R Submit( "Date_ <- as.Date( Date_POSIX )");
R Submit( "str( Date_POSIX )");
R Submit( "str( Date_ )");
R Term();
이 창에서 코드를 변경하려고 시도하는 데 실수 한 형식을 수정했습니다.
Re : JMP에서 R로 날짜를 보내는 방법 @txnelson ,
내가 공유 한 두 번째 코드는 R이 아닌 JSL에 있습니다.
R Send(DatesInJMP)
d1 <- as.Date(DatesInJMP)
R Get(d1)
이것은 JMP에서 R로 전달 된 날짜를 표시하려는 나의 시도입니다. JMP에서 R을 호출하면 R의 인스턴스가 열리지 않으므로 위에서 시도한 것처럼 R이 JMP로 검색하는 것 이외의 다른 테스트 방법을 잘 모릅니다. 각 인수는 아래와 같이 JMP에서 R로 개별적으로 전달됩니다.
# JSL CODE
R Send(DatesInJMP);
R Send(CashFlow);
R Submit("
d1 <- as.Date(DatesInJMP)
"
);
R Get(d1);
Re : JMP에서 R로 날짜를 보내는 방법R에 표시된 목록을 표시 했으므로 R에받은 내용을 볼 수 있습니까? 원래의 R 코드를 별도의 목록으로 수정 한 다음 J 코드에 대해 수정 된 버전의 R 코드에서 수행하려고 할 때 전달할 수 있습니까?
Re : JMP에서 R로 날짜를 보내는 방법헤이 짐,
R에 전달하기 전에 날짜를 문자로 형식화했습니다. 문자 날짜 목록으로 형식이 지정됩니다.
형식화에 사용한 공식은 다음과 같습니다.
(형식 (: PeriodEnding, "y / m / d")))Re : JMP에서 R로 날짜를 보내는 방법우디,
JMP의 날짜는 숫자입니다. R 코드에 필요한 목록은 문자열 목록입니다. Format () 함수를 사용하여 JMP에서 목록의 숫자 값을 문자열로 변환 한 후 R에 전달하기 전에 새 값 목록을 작성해야합니다.