# Chinese translations for R package
# Copyright (C) 2006 The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# 陈斐 <feic@normipaiva.com>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-29 07:06-0700\n"
"PO-Revision-Date: 2005-02-04 08:37+0000\n"
"Last-Translator: 陈斐 <feic@normipaiva.com>\n"
"Language-Team: Chinese\n"
"Language: zh_CN\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:54
msgid "bandwidth/span of running medians is larger than n"
msgstr "移动中位数的帶寬/跨距的值不能大于n"

#: ansari.c:118
msgid "probabilities outside [0,1] in qansari()"
msgstr "qansari()里的概率值在[0,1]范围外"

#: approx.c:113
msgid "approx(): invalid f value"
msgstr "approx(): f值不对"

#: approx.c:116
msgid "approx(): invalid interpolation method"
msgstr "approx(): 内插方法不对"

#: approx.c:122
msgid "approx(): attempted to interpolate NA values"
msgstr "approx(): 不能内插NA值"

#: 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 "滞后不能大于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:643
msgid "'x' is NULL"
msgstr "'x'为NULL"

#: cov.c:645
#, fuzzy
msgid "'x' is a factor"
msgstr "'tmax'不是整数"

#: cov.c:665
#, fuzzy
msgid "'y' is a factor"
msgstr "'fn'不是函数"

#: cov.c:673 cov.c:679
msgid "incompatible dimensions"
msgstr "不兼容的量度"

#: cov.c:698 cov.c:739 cov.c:772
msgid "no complete element pairs"
msgstr "不存在完的一对"

#: cov.c:711
msgid "invalid 'use' (computational method)"
msgstr "'use'不对(计算方法)"

#: cov.c:714
msgid "'x' is empty"
msgstr "'x'是空的"

#: cov.c:808
msgid "the standard deviation is zero"
msgstr "标准差为零"

#: 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 "产生了NaNs"

#: 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必需为长度为一或长度为%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:66 fourier.c:161
msgid "non-numeric argument"
msgstr "非数值参数"

#: fourier.c:84 fourier.c:102 fourier.c:175
msgid "fft factorization error"
msgstr "fft因数分解错误"

#: fourier.c:147
msgid "vector-valued (multivariate) series required"
msgstr "需要矢量值系列(多变数)"

#: fourier.c:223
msgid "no factors"
msgstr "非因子"

#: fourier.c:226
msgid "invalid factors"
msgstr "因子不对"

#: integrate.c:84 integrate.c:86 integrate.c:128
#, fuzzy, c-format
msgid "'%s' must be of length one"
msgstr "'m'的值必需是串列"

#: ksmooth.c:69
msgid "only 2500 rows are allowed for sm.method=\"spline\""
msgstr "sm.method=\"spline\"最多只能算2500行"

#: lm.c:57
#, fuzzy
msgid "'x' is not a matrix"
msgstr "'tmax'不是整数"

#: lm.c:62
#, c-format
msgid "dimensions of 'x' (%d,%d) and 'y' (%d) do not match"
msgstr ""

#: lm.c:77 lm.c:81
#, c-format
msgid "NA/NaN/Inf in '%s'"
msgstr ""

#: loessc.c:240
msgid "span is too small"
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'必需是正数"

#: lowess.c:295
msgid "'iter' must be finite and >= 0"
msgstr "'iter'必需是正数"

#: lowess.c:298
msgid "'delta' must be finite and > 0"
msgstr "'delta'必需是正数"

#: mAR.c:470
msgid "Singular matrix in qr_solve"
msgstr "gr_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 "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:199
#, 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没有因子层"

#: 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 "模型矩阵的%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.c:662
#, c-format
msgid "variables of type '%s' are not allowed in model matrices"
msgstr "模型矩阵里不能有种类为'%s'的参数"

#: model.c:884
msgid "invalid formula in 'update'"
msgstr "'update'里的公式不对"

#: model.c:918
msgid "formula expected"
msgstr "需要公式"

#: model.c:1050
msgid "invalid term in model formula"
msgstr "模型公式里有错误的项"

#: model.c:1125
msgid "invalid model formula"
msgstr "模型公式不对"

#: model.c:1151 model.c:1411
msgid "invalid power in formula"
msgstr "公式里的幂不对"

#: model.c:1187
msgid "invalid model formula in ExtractVars"
msgstr "ExtractVars里的模型公式不对"

#: model.c:1534
#, c-format
msgid "duplicated name '%s' in data frame using '.'"
msgstr "在数据框里用'.'时不能有重复的名字’%s'"

#: model.c:1595
msgid "invalid model formula in EncodeVars"
msgstr "EncodeVars中的模型公式不对"

#: model.c:1681
msgid "argument is not a valid model"
msgstr "参数不是正确的模型"

#: model.c:1691
msgid "'specials' must be NULL or a character vector"
msgstr "'specials'的值要么是NULL要么是字符矢量"

#: model.c:1703
msgid "'data' argument is of the wrong type"
msgstr "'data'参数种类有错"

#: model.c:1974
msgid "'.' in formula and no 'data' argument"
msgstr "公式里有'.'，而没有'data'这一参数"

#: monoSpl.c:36
msgid "n must be at least two"
msgstr "n至少需要是二"

#: 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)的值必需为二"

#: 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 "算法的步因素%g的大小被减少到小于%g的'minFactor'值"

#: 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:376
msgid "use of NULL environment is defunct"
msgstr "NULL环境不再有用了"

#: nls.c:296
msgid "'rho' should be an environment"
msgstr "'rho'必需为环境"

#: 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回覆了无限值"

#: optim.c:89
#, c-format
msgid "objective function in optim evaluates to length %d not 1"
msgstr "optim内的目标函数长度被评估为%d，而不是一"

#: optim.c:116
#, c-format
msgid "gradient in optim evaluated to length %d not %d"
msgstr "optim梯度长度被评估为%d，而不是%d"

#: optim.c:195 optim.c:401
msgid "'fn' is not a function"
msgstr "'fn'不是函数"

#: optim.c:213 optim.c:407
msgid "'parscale' is of the wrong length"
msgstr "'parscale'的长度不对"

#: optim.c:242
msgid "'maxit' is not an integer"
msgstr "'maxit'不是整数"

#: optim.c:262
#, fuzzy
msgid "'tmax' is not a positive integer"
msgstr "'tmax'不是整数"

#: optim.c:264 optim.c:281 optim.c:306 optim.c:336 optim.c:415
msgid "'gr' is not a function"
msgstr "'gr'不是函数"

#: optim.c:287 optim.c:312 optim.c:342 optim.c:421
msgid "'ndeps' is of the wrong length"
msgstr "'ndeps'长度不对"

#: optim.c:372
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 "参数种类不对"

#: 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来解决一维问题效率不高"

#: optimize.c:641
msgid "invalid gradient tolerance in nlm"
msgstr "nlm里的梯度容错不对"

#: optimize.c:643
msgid "invalid iteration limit in nlm"
msgstr "nlm里的迭代极限不对"

#: optimize.c:645
msgid "minimization function has no good digits in nlm"
msgstr "nlm最小化函数找不到可适用的数字"

#: optimize.c:647
msgid "no analytic gradient to check in nlm!"
msgstr "nlm里没有可查的分析梯度!"

#: optimize.c:649
msgid "no analytic Hessian to check in nlm!"
msgstr "nlm里没有可查的分析海森!"

#: optimize.c:651
msgid "probable coding error in analytic gradient"
msgstr "分析梯度的代码很有可能出错"

#: optimize.c:653
msgid "probable coding error in analytic Hessian"
msgstr "分析海森的代码很有可能出错"

#: optimize.c:655
#, c-format
msgid ""
"*** unknown error message (msg = %d) in nlm()\n"
"*** should not happen!"
msgstr "*** nlm()产生了不知是什么的错误信息(msg = %d) 。这不应该发生!"

#: optimize.c:666
msgid "Relative gradient close to zero.\n"
msgstr "相对梯度离零太近.\n"

#: optimize.c:667 optimize.c:671
msgid "Current iterate is probably solution.\n"
msgstr "当前的重复值很可能就已经是答案了.\n"

#: optimize.c:670
msgid "Successive iterates within tolerance.\n"
msgstr "在容错范围内连续迭代.\n"

#: optimize.c:674
msgid "Last global step failed to locate a point lower than x.\n"
msgstr "最后一步的整体优化没有能找到比x值要小的一个点.\n"

#: 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已经是函数的本地最小值，要么这个函数非线性太强，要么steptol设得太大。\n"

#: optimize.c:680
msgid "Iteration limit exceeded.  Algorithm failed.\n"
msgstr "超过了迭代极限。算法失败.\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 ""
"最大步骤超过了5次。\n"
"这个函数要么没有下边界,\n"
"从上边界达到了渐近有限值\n"
"要么是stepmx设得太小。\n"

#: 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 "海森的长度不对或其状态不对，因此略过不用"

#: optimize.c:804
msgid "gradient supplied is of the wrong length or mode, so ignored"
msgstr "梯度的长度或其状态不对，因此略过不用"

#: pacf.c:87
msgid "bad Starma struct"
msgstr "Starma结构不对"

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

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

#: 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:313
#, c-format
msgid "gradient function must return a numeric vector of length %d"
msgstr "梯度函数必需回覆长度为%d的数字向量"

#: port.c:325
#, c-format
msgid "Hessian function must return a square numeric matrix of order %d"
msgstr "Hessian函数必需回覆一个度数为%d的正方形数值矩阵"

#: port.c:380
msgid "'rho' must be an environment"
msgstr "'rho'必需是环境"

#: port.c:382 port.c:548
msgid "'d' must be a nonempty numeric vector"
msgstr "'d'必需是非空数字向量"

#: port.c:384
msgid "When Hessian defined must also have gradient defined"
msgstr "如果Hessian有定义的话梯度也必需有定义"

#: port.c:387
#, c-format
msgid "environment 'rho' must contain a numeric vector '.par' of length %d"
msgstr "'rho'环境必包含长度为%d的数字向量'.par'"

#: port.c:401
msgid "'lower' and 'upper' must be numeric vectors"
msgstr "'lower'和'upper'必需为数字向量"

#: port.c:460
msgid "'getElement' applies only to named lists"
msgstr "'getElement'只适用于带名串列"

#: port.c:481
#, c-format
msgid "%s$%s() not found"
msgstr "%s$%s()不存在"

#: port.c:494
#, c-format
msgid "'gradient' must be a numeric matrix of dimension (%d,%d)"
msgstr "'gradient'必需是一个维数为(%d,%d)的数值矩阵"

#: port.c:515
#, c-format
msgid "fcn produced mode %d, length %d - wanted mode %d, length %d"
msgstr "fcn运行结果的模式为%d , 长度为%d - 但正确的模式应该是%d，长度为%d"

#: port.c:528
msgid "invalid type for eval_check_store"
msgstr "eval_check_store的种类不对"

#: port.c:549
msgid "m must be a list"
msgstr "m必需为串列"

#: port.c:569
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'不是正定矩阵"

#: random.c:53 random.c:128 random.c:200 random.c:284
msgid "NAs produced"
msgstr "产生了NA"

#: random.c:60 random.c:66 random.c:72 random.c:90 random.c:161 random.c:242
#: random.c:376
msgid "invalid arguments"
msgstr "参数不对"

#: random.c:310
msgid "NA in probability vector"
msgstr ""

#: random.c:312
msgid "negative probability"
msgstr ""

#: random.c:318
msgid "no positive probabilities"
msgstr ""

#: random.c:330
msgid "invalid first argument 'n'"
msgstr "第一参数'n'不对"

#: random.c:332
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； 算法失败"

#: smooth.c:107
#, c-format
msgid "invalid end-rule for running median of 3: %d"
msgstr "三移动中位数的结尾规则出了错: %d"

#: starma.c:364
#, c-format
msgid "missing value in last %d observations"
msgstr "最后%d个观测值里出现了缺省值"

#~ msgid "allocation error in smooth(*, '3RSR')."
#~ msgstr "smooth(*, '3RSR')分配出错。"

#~ msgid "allocation error in smooth(*, '3RSS')."
#~ msgstr "smooth(*, '3RSS')分配出错。"

#~ msgid "allocation error in smooth(*, '3R')."
#~ msgstr "smooth(*, '3R')分配出错。"
