내가 마지막으로 수행 한 작업입니다.
- 이있는 데이터 테이블을 통과보다는 ( GET을 통해 액세스하려고 계속 DT, envir = .GlobalEnv.
- 데이터 테이블과 컬럼의 캐릭터 이름
사용 setorderv 이 질문에 아니지만 setorderv는 열 이름/열 이름 문자 변수로.
를 원하기 때문에, 내가 할 노력했다 함수 내에서 일부 그래프이었다. 나는 설정하는 방법을 알아 냈어 아내 의 j 필드에서 플롯을 작성합니다.
현재 전체 기능이 있습니다. 내가이 질문을 게시하기 전에이 코드 스 니펫을 사용하는 것이 유용했을 것이므로 전체 설명없이 게시합니다.
deltaPlot <- function(dt, var, title, ylabel, regions) {
if (missing(regions)) {regions <- 156}
dt.temp <- data.table::copy(dt)
data.table::setorderv(dt.temp, var)
junk <- dt.temp[,{
plot(x = get(var), type = "s", main = title,
ylab = ylabel,
xlab = "",
xaxt = "n",
cex.lab = 0.8, mgp = c(2.5, 1, 0),
yaxs = "r")
abline(h = 0)
axis(1, at = 1:regions, labels = region_code.IMPACT159, cex.axis = 0.5)}
]
}
var 및 region_code.IMPACT159에 포함 된 문자열은 모두 dt의 열입니다. var 열은 숫자이고 region_code.IMPACT159는 문자입니다.
deltaPlot(dt = dt.budgetShare.wide,
var = "delta.SSP1", title = "Delta SSP1",
ylabel = "Change in IMPACT commodity\nshare of per capita GDP (%)"
)
출력. 당신이`(DT "V2")를 setorderv을 '그리고 ... (은`deparse (대체를 피할 수 있도록
이있다'setorderv'는' – thelatemail
이 제안은 첫 번째 문제를 해결한다. 코드'sortFunction를 < - 함수 (dt, var) { data.table :: setorderv (dt, var) return (dt) } sortFunction (dt, var = "V2")'내가 원하는 것을 수행합니다. dt 자체 대신에 함수에 넣는 것입니까? – JerryN
정말 추천하지 않지만'f
thelatemail