# Korean translation for R stats package
# Copyright (C) 1995-2018 The R Core Team
#
# This file is distributed under the same license as the R stats package.
# Maintained by Chel Hee Lee <gnustats@gmail.com>, 2008-2018.
#
msgid ""
msgstr ""
"Project-Id-Version: R-3.5.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:54-0700\n"
"PO-Revision-Date: 2018-04-09 12:10-0600\n"
"Last-Translator: Chel Hee Lee <gnustats@gmail.com>\n"
"Language-Team: \n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#: Srunmed.c:63
msgid "bandwidth/span of running medians is larger than n"
msgstr "연속적인 중앙값들의 브로드밴드/범위가 n보다 큽니다"

#: Srunmed.c:262
#, c-format
msgid "runmed(x, .., na.action=\"na.fail\"): have NAs starting at x[%ld]"
msgstr ""

#: Srunmed.c:265
msgid "runmed(): invalid 'na.action'"
msgstr ""

#: Srunmed.c:315
#, c-format
msgid "na_action logic error (%d), please report!"
msgstr ""

#: ansari.c:118
msgid "probabilities outside [0,1] in qansari()"
msgstr "qansari()내에 있는 확률의 값들이 [0,1] 범위외에 있습니다"

#: approx.c:114
msgid "approx(): invalid f value"
msgstr "approx(): 유효하지 않은 f 값입니다"

#: approx.c:117
msgid "approx(): invalid interpolation method"
msgstr "approx(): 유효하지 않은 보간법입니다"

#: approx.c:124
msgid "approx(): attempted to interpolate NA values"
msgstr "approx(): NA값들의 보간을 시도했습니다"

#: approx.c:128
msgid "approx(x,y, .., na.rm=FALSE): NA values in x are not allowed"
msgstr ""

#: arima.c:81 arima.c:192 arima.c:377 arima.c:608 optim.c:39
msgid "invalid argument type"
msgstr "유효하지 않은 인자 타입입니다"

#: arima.c:444 arima.c:530 pacf.c:324 pacf.c:363
msgid "can only transform 100 pars in arima0"
msgstr "arima0에서는 최대 100개의 파라미터들을 변환할 수 있습니다"

#: arima.c:1016
msgid "maximum supported lag is 350"
msgstr "지원되는 최대 lag의 크기는 350입니다"

#: bandwidths.c:126
#, c-format
msgid "non-finite x[%d] in bandwidth calculation"
msgstr ""

#: complete_cases.c:26
#, c-format
msgid "invalid 'type' (%s) of argument"
msgstr "유효하지 않은 인자의 'type' (%s)입니다"

#: complete_cases.c:120
msgid "no input has determined the number of cases"
msgstr "경우의 수를 결정할 수 있는 입력이 없습니다"

#: complete_cases.c:223
msgid "not all arguments have the same length"
msgstr "모든 인자들이 같은 길이를 가지고 있지 않습니다"

#: cov.c:569
msgid "missing observations in cov/cor"
msgstr "cov/cor에 결측치들이 있습니다"

#: cov.c:650
msgid "'x' is NULL"
msgstr "'x'는 NULL입니다"

#: cov.c:682 cov.c:688
msgid "incompatible dimensions"
msgstr "호환되지 않는 차원들입니다"

#: cov.c:707 cov.c:748 cov.c:781
msgid "no complete element pairs"
msgstr ""

#: cov.c:720
msgid "invalid 'use' (computational method)"
msgstr "유효하지 않은 'use'입니다 (computational method)"

#: cov.c:723
msgid "'x' is empty"
msgstr "'x'가 비어있습니다"

#: cov.c:817
msgid "the standard deviation is zero"
msgstr "표준편차가 0입니다"

#: deriv.c:158
msgid "invalid form in unary minus check"
msgstr ""

#: deriv.c:682
#, c-format
msgid "Function '%s' is not in the derivatives table"
msgstr "함수 '%s'는 미분함수 목록에 없습니다"

#: deriv.c:789
#, c-format
msgid "expression must not be type '%s'"
msgstr ""

#: deriv.c:792
msgid "variable must be a character string"
msgstr "변수는 반드시 문자열이어야 합니다"

#: deriv.c:794
msgid "only the first element is used as variable name"
msgstr "오로지 첫번째 요소만이 변수명으로서 사용되었습니다"

#: deriv.c:807
#, c-format
msgid "invalid expression in '%s'"
msgstr "'%s'에 유효하지 않은 표현식이 있습니다"

#: deriv.c:1085 model.c:99
msgid "invalid variable names"
msgstr "유효하지 않은 변수명입니다"

#: deriv.c:1094
msgid "invalid tag"
msgstr "유효하지 않은 태그입니다"

#: distance.c:152
msgid "treating non-finite values as NA"
msgstr "유한하지 않은 값들을 NA로 처리합니다"

#: distance.c:225
msgid "distance(): invalid p"
msgstr "distance(): 유효하지 않은 p입니다"

#: distance.c:229
msgid "distance(): invalid distance"
msgstr "distance(): 유효하지 않은 거리입니다"

#: distn.c:44
msgid "NaNs produced"
msgstr "NaN이 생성되었습니다"

#: distn.c:45
msgid "Non-numeric argument to mathematical function"
msgstr "수치형이 아닌 인자가 수학함수에 이용되었습니다"

#: family.c:45
#, c-format
msgid "Value %g out of range (0, 1)"
msgstr "%g의 값은 (0,1)의 범위외에 있습니다"

#: family.c:66 family.c:80 family.c:98
#, c-format
msgid "Argument %s must be a nonempty numeric vector"
msgstr "인자 %s는 반드시 비어있지 않은 수치형 벡터이어야 합니다"

#: family.c:131 family.c:134
#, c-format
msgid "argument %s must be a numeric vector of length 1 or length %d"
msgstr "인자 %s는 반드시 길이가 1 이거나 %d인 수치형 벡터이어야 합니다"

#: fexact.c:273
#, c-format
msgid "integer overflow would happen in 'mult * ldkey' = %g"
msgstr ""

#: fexact.c:653
#, c-format
msgid ""
"FEXACT error 6.  LDKEY=%d is too small for this problem,\n"
"  (ii := key2[itp=%d] = %d, ldstp=%d)\n"
"Try increasing the size of the workspace and possibly 'mult'"
msgstr ""

#: fexact.c:1035
#, c-format
msgid "Bug in fexact3, it[i=%d]=%d: negative key %d (kyy=%d)\n"
msgstr ""

#: fexact.c:1064
#, c-format
msgid ""
"FEXACT error 30.  Stack length exceeded in f3xact,\n"
"  (ldst=%d, key=%d, ipn=%d, itp=%d, ist[ii=%d]=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""

#: fexact.c:1399
#, c-format
msgid ""
"FEXACT error 6 (f5xact).  LDKEY=%d is too small for this problem: kval=%d.\n"
"Try increasing the size of the workspace."
msgstr ""

#: fexact.c:1412
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (kval=%d, itop-ldstp=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'."
msgstr ""

#: fexact.c:1449
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (pastp=%g, ipn_0:=ipoin[itp=%d]=%d, stp[ipn_0]=%g).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""

#: fourier.c:70 fourier.c:165
msgid "non-numeric argument"
msgstr "숫자값을 가지지 않는 인자입니다"

#: fourier.c:88 fourier.c:106 fourier.c:179
msgid "fft factorization error"
msgstr "fft 팩토라이제이션 에러입니다"

#: fourier.c:151
msgid "vector-valued (multivariate) series required"
msgstr "벡터기반의 (다변량) 시리즈가 필요합니다"

#: fourier.c:221
#, c-format
msgid ""
"nextn() found no solution < %d = INT_MAX (the maximal integer); pass '0+ n' "
"instead of 'n'"
msgstr ""

#: fourier.c:233
#, c-format
msgid "nextn<64>() found no solution < %ld = UINT64_MAX (the maximal integer)"
msgstr ""

#: fourier.c:249
msgid "no factors"
msgstr "요인이 없습니다"

#: fourier.c:250
#, fuzzy
msgid "too many factors"
msgstr "요인이 없습니다"

#: fourier.c:253
msgid "invalid factors"
msgstr "유효하지 않은 요인입니다"

#: fourier.c:257
msgid "'n' must have typeof(.) \"integer\" or \"double\""
msgstr ""

#: fourier.c:295
#, c-format
msgid ""
"nextn() = %<PRIu64> > 2^53 may not be exactly representable in R (as \"double"
"\")"
msgstr ""

#: integrate.c:84 integrate.c:86 integrate.c:128
#, c-format
msgid "'%s' must be of length one"
msgstr "'%s'의 길이는 반드시 1이어야 합니다."

#: ksmooth.c:69
msgid "only 2500 rows are allowed for sm.method=\"spline\""
msgstr ""
"sm.method에 \"spline\"이 주어졌을 때에는 최대로 사용할 수 있는 행의 개수는 "
"2500개입니다"

#: lm.c:57
msgid "'x' is not a matrix"
msgstr "'x'는 행렬이 아닙니다"

#: lm.c:62
#, c-format
msgid "dimensions of 'x' (%d,%d) and 'y' (%d) do not match"
msgstr "'x' (%d,%d)와 'y' (%d)의 차원들이 일치하지 않습니다"

#: lm.c:77 lm.c:81
#, c-format
msgid "NA/NaN/Inf in '%s'"
msgstr "'%s' 내에 NA/NaN/Inf가 있습니다"

#: loessc.c:242
msgid "span is too small"
msgstr "범위가 너무 작습니다"

#: loessc.c:257
#, c-format
msgid "workspace required (%.0f) is too large%s."
msgstr ""

#: loessc.c:258
msgid " probably because of setting 'se = TRUE'"
msgstr ""

#: loglin.c:371
msgid "this should not happen"
msgstr "이것은 일어날 수 없는 경우입니다"

#: loglin.c:373
msgid "algorithm did not converge"
msgstr "알고리즘이 수렴하지 않습니다"

#: loglin.c:375
msgid "incorrect specification of 'table' or 'start'"
msgstr "'table' 또는 'start'의 지정이 잘못되었습니다"

#: lowess.c:292
msgid "'f' must be finite and > 0"
msgstr "'f'는 반드시 유한해야 하며 0 보다 커야 합니다"

#: lowess.c:295
msgid "'iter' must be finite and >= 0"
msgstr "'iter'는 반드시 유한해야 하고 0보다 크거나 같아야 합니다"

#: lowess.c:298
msgid "'delta' must be finite and > 0"
msgstr "'delta'는 반드시 유한해야 하고 0 보다 커야 합니다"

#: mAR.c:470
msgid "Singular matrix in qr_solve"
msgstr "qr_solve에 비가역행렬이 있습니다"

#: mAR.c:513
msgid "Singular matrix in ldet"
msgstr "ldet에 비가역행렬이 있습니다"

#: mAR.c:700
msgid "Invalid vmethod"
msgstr "유효하지 않은 vmethod입니다"

#: mAR.c:836
msgid "Burg's algorithm failed to find partial correlation"
msgstr "partial correlation을 찾기 위해 사용된 Burg의 알고리즘이 실패했습니다"

#: model.c:97
msgid "invalid variables"
msgstr "유효하지 않은 변수들입니다"

#: model.c:101 model.c:106
msgid "number of variables != number of variable names"
msgstr "변수의 개수가 변수명의 개수와 같지 않습니다"

#: model.c:104
msgid "invalid extra variables"
msgstr "유효하지 않은 추가 변수들입니다"

#: model.c:108
msgid "invalid extra variable names"
msgstr "유효하지 않은 추가 변수명들입니다"

#: model.c:129
#, c-format
msgid "overlong names in '%s'"
msgstr "'%s'내에 너무 긴 이름들이 있습니다"

#: model.c:156
#, c-format
msgid "invalid type (%s) for variable '%s'"
msgstr "변수 %2$s에 유효하지 않은 타입 (%1$s)입니다"

#: model.c:161
#, c-format
msgid "variable lengths differ (found for '%s')"
msgstr "변수의 길이들이 다릅니다 ('%s'에서 찾았습니다)"

#: model.c:215
msgid "invalid result from na.action"
msgstr "na.action으로부터 결과가 유효하지 않습니다"

#: model.c:372 model.c:380 optim.c:227
#, c-format
msgid "invalid '%s' argument"
msgstr "유효하지 않은 '%s' 인자입니다"

#: model.c:391
msgid "invalid model frame"
msgstr "유효하지 않은 모델프레임입니다"

#: model.c:393
msgid "do not know how many cases"
msgstr "얼마나 많은 경우들이 있는지 모릅니다"

#: model.c:417
#, c-format
msgid "variable lengths differ (found for variable %d)"
msgstr "변수의 길이들이 다릅니다 (변수 %d에서 찾았습니다)"

#: model.c:421 model.c:428
#, c-format
msgid "variable %d has no levels"
msgstr "변수 %d은 아무런 level을 가지고 있지 않습니다"

#: model.c:540
msgid "the response appeared on the right-hand side and was dropped"
msgstr "종속변수가 우변에서 발견되어 이를 포함시키지 않았습니다"

#: model.c:560
#, c-format
msgid "term %d would require %.0g columns"
msgstr "항 %d는 %.0g 열들을 필요로 합니다"

#: model.c:564
#, c-format
msgid "matrix would require %.0g columns"
msgstr "행렬은 %.0g 열들을 필요로 합니다"

#: model.c:575
#, c-format
msgid "problem with term %d in model.matrix: no columns are assigned"
msgstr ""
"model.matrix에 있는 항 %d에 문제가 있습니다: 아무런 열들도 할당되지 않았습니"
"다"

#: model.c:624 model.c:629 model.c:635 model.c:646 model.c:652 model.c:658
msgid "term names will be truncated"
msgstr "항 이름들이 잘려질 것입니다"

#: model.c:638
msgid "complex variables are not currently allowed in model matrices"
msgstr "복소수 변수들은 현재 model matrices에서는 허용되지 않습니다"

#: model.c:662
#, c-format
msgid "variables of type '%s' are not allowed in model matrices"
msgstr "유형 '%s'를 가지는 변수들은 model matrices에서 허용되지 않습니다"

#: model.c:887
msgid "invalid formula in 'update'"
msgstr "'update'내에 유효하지 않은 formula가 있습니다"

#: model.c:921
msgid "formula expected"
msgstr "formula가 와야 합니다"

#: model.c:1089
msgid "invalid term in model formula"
msgstr "모델식에 유효하지 않은 항이 있습니다"

#: model.c:1180
msgid "invalid model formula"
msgstr "유효하지 않은 모델식입니다"

#: model.c:1212 model.c:1518
msgid "invalid power in formula"
msgstr ""

#: model.c:1261
msgid "invalid model formula in ExtractVars"
msgstr "ExtractVars에 유효하지 않은 모델식이 있습니다"

#: model.c:1629
#, c-format
msgid "duplicated name '%s' in data frame using '.'"
msgstr "'.'를 이용한 데이터 프레임에서 중복된 이름 '%s'을 발견했습니다"

#: model.c:1696
msgid "invalid model formula in EncodeVars"
msgstr "EncodeVars내에 유효하지 않은 모델식이 발견되었습니다"

#: model.c:1773
msgid "argument is not a valid model"
msgstr "인자가 유효한 모델이 아닙니다"

#: model.c:1783
msgid "'specials' must be NULL or a character vector"
msgstr "'specials'는 반드시 NULL 또는 문자형 벡터이어야 합니다"

#: model.c:1794
msgid "'data' argument is of the wrong type"
msgstr "'data' 인자의 유형이 잘못되었습니다"

#: model.c:1866
#, c-format
msgid ""
"'varlist' has changed (from nvar=%d) to new %d after EncodeVars() -- should "
"no longer happen!"
msgstr ""

#: model.c:2150
msgid "'.' in formula and no 'data' argument"
msgstr "formula 안에  '.'가 사용되었는데 'data' 인자가 없습니다"

#: monoSpl.c:36
msgid "n must be at least two"
msgstr "n은 반드시 최소 2이상이어야 합니다"

#: monoSpl.c:69
msgid "Argument m must be numeric"
msgstr "인자 m은 반드시 수치형이어야 합니다"

#: monoSpl.c:72
msgid "length(m) must be at least two"
msgstr "length(m)은 반드시 최소 2이어야 합니다"

#: monoSpl.c:74
msgid "Argument Sx must be numeric vector one shorter than m[]"
msgstr "인자 Sx은 반드시 m[]의 길이보다 하나가 적은 숫자형 벡터이어야 합니다"

#: nls.c:99
msgid "'control' must be a list"
msgstr "'control'은 반드시 리스트이어야 합니다"

#: nls.c:101
msgid "'m' must be a list"
msgstr "'m'은 반드시 리스트이어야 합니다"

#: nls.c:107 nls.c:112 nls.c:117 nls.c:122 nls.c:127 nls.c:168 nls.c:173
#: nls.c:178 nls.c:183 nls.c:188 nls.c:193
#, c-format
msgid "'%s' absent"
msgstr "'%s'가 빠졌습니다"

#: nls.c:234
msgid "singular gradient"
msgstr ""

#: nls.c:255
#, c-format
msgid "step factor %g reduced below 'minFactor' of %g"
msgstr ""

#: nls.c:264
#, c-format
msgid "number of iterations exceeded maximum of %d"
msgstr "지정된 최대 반복수 %d를 초과하였습니다"

#: nls.c:269
msgid "converged"
msgstr "수렴했습니다"

#: nls.c:290
msgid "'theta' should be of type character"
msgstr "'theta'는 반드시 문자형이어야 합니다"

#: nls.c:292 port.c:382
msgid "use of NULL environment is defunct"
msgstr "NULL environment의 사용은 더 이상 지원되지 않습니다"

#: nls.c:296
msgid "'rho' should be an environment"
msgstr "'rho'는 반드시 environment이어야 합니다"

#: nls.c:299
msgid "'dir' is not a numeric vector of the correct length"
msgstr "'dir'은 올바른 길이를 가지는 수치형 벡터가 아닙니다"

#: nls.c:313 nls.c:347
msgid "Missing value or an infinity produced when evaluating the model"
msgstr "모델 평가시에 값이 누락되거나 무한값이 생성되었습니다"

#: nls.c:321
#, c-format
msgid "variable '%s' is integer, not numeric"
msgstr "변수 '%s'는 약분할 수 없는 정수입니다"

#: nls.c:323
#, c-format
msgid "variable '%s' is not numeric"
msgstr "변수 '%s'는 수치형이 아닙니다"

#: optim.c:82 optim.c:109
msgid "non-finite value supplied by optim"
msgstr "optim으로부터 유한(finite)하지 않은 값이 생성되었습니다."

#: optim.c:89
#, c-format
msgid "objective function in optim evaluates to length %d not 1"
msgstr "optim에 사용된 목적함수의 길이가 1이 아닌 %d입니다"

#: optim.c:116
#, c-format
msgid "gradient in optim evaluated to length %d not %d"
msgstr "optim에 사용된 그래디언트가 길이가 %2$d가 아닌 %1$d입니다"

#: optim.c:223 optim.c:429
msgid "'fn' is not a function"
msgstr "'fn'은 함수가 아닙니다"

#: optim.c:241 optim.c:435
msgid "'parscale' is of the wrong length"
msgstr "'parscale'의 길이가 잘못되었습니다"

#: optim.c:270
msgid "'maxit' is not an integer"
msgstr "'maxit'은 정수가 아닙니다"

#: optim.c:290
msgid "'tmax' is not a positive integer"
msgstr "'tmax'는 양의 정수가 아닙니다"

#: optim.c:292 optim.c:309 optim.c:334 optim.c:364 optim.c:443
msgid "'gr' is not a function"
msgstr "'gr'은 함수가 아닙니다"

#: optim.c:315 optim.c:340 optim.c:370 optim.c:449
msgid "'ndeps' is of the wrong length"
msgstr "'ndeps'의 길이가 잘못되었습니다"

#: optim.c:400
msgid "unknown 'method'"
msgstr "'method'를 알 수 없습니다."

#: optimize.c:220 optimize.c:306 optimize.c:528
msgid "NA replaced by maximum positive value"
msgstr "NA가 양의 최대값으로 대체되었습니다"

#: optimize.c:228 optimize.c:318 optimize.c:536
msgid "NA/Inf replaced by maximum positive value"
msgstr "NA/Inf가 양의 최대값으로 대체되었습니다"

#: optimize.c:237
msgid "invalid function value in 'optimize'"
msgstr "'optimize'에 유효하지 않은 함수값이 있습니다"

#: optimize.c:255 optimize.c:347 optimize.c:721
msgid "attempt to minimize non-function"
msgstr "함수가 아닌 것을 최소화하려 하였습니다"

#: optimize.c:262 optimize.c:269 optimize.c:278 optimize.c:352 optimize.c:357
#: optimize.c:373
#, c-format
msgid "invalid '%s' value"
msgstr "유효하지 않은 '%s'값입니다"

#: optimize.c:271 optimize.c:358
msgid "'xmin' not less than 'xmax'"
msgstr "'xmin'가 'xmax'보다 적습니다"

#: optimize.c:315
msgid "-Inf replaced by maximally negative value"
msgstr "-Inf는 음의 최대값으로 대체되었습니다"

#: optimize.c:328
msgid "invalid function value in 'zeroin'"
msgstr "'zeroin'내에 유효하지 않은 함수값이 있습니다"

#: optimize.c:363 optimize.c:368
#, c-format
msgid "NA value for '%s' is not allowed"
msgstr "'%s'에 NA값은 허용되지 않습니다"

#: optimize.c:378
msgid "'maxiter' must be positive"
msgstr "'maxiter'는 반드시 양수이어야 합니다"

#: optimize.c:520
msgid "non-finite value supplied by 'nlm'"
msgstr "무한값이 'nlm'에 의해 제공되었습니다"

#: optimize.c:555
msgid "invalid function value in 'nlm' optimizer"
msgstr "'nlm' 옵티마이저에서 유효하지 않은 함수값이 있습니다"

#: optimize.c:566 optimize.c:581
msgid "function value caching for optimization is seriously confused"
msgstr ""

#: optimize.c:596
msgid "numeric parameter expected"
msgstr "수치형 파라미터가 와야 합니다"

#: optimize.c:600
msgid "conflicting parameter lengths"
msgstr "파마미터의 길이들이 일치하지 않습니다"

#: optimize.c:604
msgid "invalid parameter length"
msgstr "파라미터 길이가 올바르지 않습니다."

#: optimize.c:614 optimize.c:621
msgid "missing value in parameter"
msgstr "파라미터에 누락된 값이 있습니다"

#: optimize.c:626
msgid "invalid parameter type"
msgstr "파라미터의 종류(type)가 올바르지 않습니다."

#: optimize.c:637
msgid "non-positive number of parameters in nlm"
msgstr "nlm에 파라미터의 개수가 양수가 아닙니다."

#: optimize.c:639
msgid "nlm is inefficient for 1-d problems"
msgstr "nlm의 사용은 1차원 문제에 대해서 효율적이지 않습니다."

#: optimize.c:641
msgid "invalid gradient tolerance in nlm"
msgstr "nlm에 이용되는 gradient tolerance는 유효하지 않습니다"

#: optimize.c:643
msgid "invalid iteration limit in nlm"
msgstr "nlm에 이용되는 iteration limit의 값이 유효하지 않습니다"

#: optimize.c:645
msgid "minimization function has no good digits in nlm"
msgstr ""

#: optimize.c:647
msgid "no analytic gradient to check in nlm!"
msgstr "nlm에서 확인할 수 있는 analytic gradient가 없습니다!"

#: optimize.c:649
msgid "no analytic Hessian to check in nlm!"
msgstr "nlm에서 확인할 수 있는 analytic Hessian이 없습니다"

#: optimize.c:651
msgid "probable coding error in analytic gradient"
msgstr "analytic gradient에 아마도 코딩에러가 있는 것 같습니다"

#: optimize.c:653
msgid "probable coding error in analytic Hessian"
msgstr "analytic Hessian에 아마도 코딩에러가 있는 것 같습니다"

#: optimize.c:655
#, c-format
msgid ""
"*** unknown error message (msg = %d) in nlm()\n"
"*** should not happen!"
msgstr ""
"*** nlm()에서 알 수 없는 메시지 (msg = %d)가 있습니다\n"
"*** 이것은 일어나서는 안되는 경우입니다!"

#: optimize.c:666
msgid "Relative gradient close to zero.\n"
msgstr "Relative gradient의 값이 0에 가깝습니다.\n"

#: optimize.c:667 optimize.c:671
msgid "Current iterate is probably solution.\n"
msgstr "current iterate가 아마도 찾고자 하는 솔루션일 것입니다.\n"

#: optimize.c:670
msgid "Successive iterates within tolerance.\n"
msgstr "허용치내의 successive iterates입니다.\n"

#: optimize.c:674
msgid "Last global step failed to locate a point lower than x.\n"
msgstr ""

#: optimize.c:675
msgid ""
"Either x is an approximate local minimum of the function,\n"
"the function is too non-linear for this algorithm,\n"
"or steptol is too large.\n"
msgstr ""
"x가 함수의 지역적 최소값에 대한 근사치일 수 있으나, \n"
"함수가 이 알고리즘의 적용에 대해서는 너무 비선형이거나,\n"
"steptol이 너무 큽니다.\n"

#: optimize.c:680
msgid "Iteration limit exceeded.  Algorithm failed.\n"
msgstr "Iteration limit을 초과하였으므로 알고리즘이 실패했습니다.\n"

#: optimize.c:683
msgid ""
"Maximum step size exceeded 5 consecutive times.\n"
"Either the function is unbounded below,\n"
"becomes asymptotic to a finite value\n"
"from above in some direction,\n"
"or stepmx is too small.\n"
msgstr ""

#: optimize.c:745 optimize.c:750 optimize.c:754 optimize.c:758 optimize.c:762
#: optimize.c:766 optimize.c:771
msgid "invalid NA value in parameter"
msgstr "파라미터에는 NA를 사용할 수 없습니다."

#: optimize.c:800
msgid "hessian supplied is of the wrong length or mode, so ignored"
msgstr "얻어진 hessian의 길이 또는 모드가 잘못되었으므로, 사용하지 않습니다."

#: optimize.c:804
msgid "gradient supplied is of the wrong length or mode, so ignored"
msgstr "얻어진 gradient의 길이 또는 모드가 잘못되었으므로, 사용하지 않습니다."

#: pacf.c:87
msgid "bad Starma struct"
msgstr ""

#: pacf.c:233
#, c-format
msgid "starma error code %d"
msgstr ""

#: pacf.c:293
#, c-format
msgid "forkal error code %d"
msgstr ""

#: pacf.c:466
msgid "invalid value of lag.max"
msgstr "lag.max의 값이 올바르지 않습니다."

#: port.c:133
#, c-format
msgid "Rf_divset: alg = %d must be 1, 2, 3, or 4"
msgstr "Rf_divset: alg = %d는 반드시 1, 2, 3, 또는 4이어야 합니다."

#: port.c:149
msgid "port algorithms 3 or higher are not supported"
msgstr ""

#: port.c:317
#, c-format
msgid "gradient function must return a numeric vector of length %d"
msgstr "gradient function은 반드시 길이가 %d인 수치형 벡터를 반환해야 합니다"

#: port.c:329
#, c-format
msgid "Hessian function must return a square numeric matrix of order %d"
msgstr ""
"Hessian function은 반드시 사이즈가 %d인 수치형 정방행렬을 반환해야 합니다"

#: port.c:386
msgid "'rho' must be an environment"
msgstr "'rho'는 반드시 인바이런먼트(environment)이어야 합니다."

#: port.c:388 port.c:554
msgid "'d' must be a nonempty numeric vector"
msgstr "'d'는 반드시 비어있지 않은 수치형 벡터이어야 합니다"

#: port.c:390
msgid "When Hessian defined must also have gradient defined"
msgstr "Hessian이 정의되었다면, 반드시 gradient 또한 정의되어져야 합니다."

#: port.c:393
#, c-format
msgid "environment 'rho' must contain a numeric vector '.par' of length %d"
msgstr ""
"environment 'rho'는 반드시 길이가 %d인 수치형 벡터 '.par'를 포함해야 합니다"

#: port.c:407
msgid "'lower' and 'upper' must be numeric vectors"
msgstr "'lower'와 'upper'는 반드시 수치형 벡터들이어야 합니다."

#: port.c:466
msgid "'getElement' applies only to named lists"
msgstr ""
"'getElement'는 오로지 원소에 이름이 주어진 리스트(list)들에만 적용할 수 있습"
"니다."

#: port.c:487
#, c-format
msgid "%s$%s() not found"
msgstr "%s$%s()를 찾을 수 없습니다."

#: port.c:500
#, c-format
msgid "'gradient' must be a numeric matrix of dimension (%d,%d)"
msgstr "'gradient'는 반드시 크기가 (%d,%d)인 수치형 행렬이어야 합니다."

#: port.c:521
#, c-format
msgid "fcn produced mode %d, length %d - wanted mode %d, length %d"
msgstr ""
"fcn은 본래 모드 %3$d와 길이 %4$d이어야 하는데 모드 %1$d와 길이 %2$d를 생성하"
"였습니다."

#: port.c:534
msgid "invalid type for eval_check_store"
msgstr "eval_check_store에 올바르지 않은 유형(type)입니다."

#: port.c:555
msgid "m must be a list"
msgstr "m은 반드시 리스트(list)이어야 합니다."

#: port.c:575
msgid "'lowerb' and 'upperb' must be numeric vectors"
msgstr "'lowerb'와 'upperb'는 반드시 수치형 벡터들이어야 합니다."

#: rWishart.c:53
msgid "inconsistent degrees of freedom and dimension"
msgstr ""

#: rWishart.c:86
msgid "'scal' must be a square, real matrix"
msgstr "'scal'은 반드시 실수형 정방행렬이어야 합니다."

#: rWishart.c:98
msgid "'scal' matrix is not positive-definite"
msgstr "'scal'행렬은 양정치(positive-definite)가 아닙니다."

#: random.c:53 random.c:137 random.c:217 random.c:307
msgid "NAs produced"
msgstr "NA가 생성되었습니다"

#: random.c:60 random.c:66 random.c:72 random.c:87 random.c:167 random.c:256
#: random.c:399
msgid "invalid arguments"
msgstr "인자가 올바르지 않습니다."

#: random.c:333
msgid "NA in probability vector"
msgstr "확률벡터로부터 NA가 발견되었습니다."

#: random.c:335
msgid "negative probability"
msgstr "음수를 가지는 확률값입니다."

#: random.c:341
msgid "no positive probabilities"
msgstr "양수를 가지는 확률값들이 없습니다."

#: random.c:353
msgid "invalid first argument 'n'"
msgstr "첫번째 인자 'n'이 올바르지 않습니다."

#: random.c:355
msgid "invalid second argument 'size'"
msgstr "두 번째 인자 'size'가 올바르지 않습니다."

#: rcont.c:83
#, c-format
msgid "rcont2 [%d,%d]: exp underflow to 0; algorithm failure"
msgstr ""
"rcont2 [%d,%d]: exp의 값이 0보다 작기(underflow)하므로 알고리즘 실패입니다."

#: smooth.c:107
#, c-format
msgid "invalid end-rule for running median of 3: %d"
msgstr ""

#: starma.c:364
#, c-format
msgid "missing value in last %d observations"
msgstr "마지막 %d개의 관측치들이 결측입니다."

#~ msgid "'x' is a factor"
#~ msgstr "'x'는 요인입니다."

#~ msgid "'y' is a factor"
#~ msgstr "'y'는 요인입니다."
