線形回帰データに複数の混合線形関係が含まれている場合はどうなりますか?


34

水仙がさまざまな土壌条件にどのように反応するかを研究しているとしましょう。土壌のpHと水仙の成熟した高さに関するデータを収集しました。私は線形関係を期待しているので、線形回帰を実行します。

しかし、私が研究を始めたとき、個体群には実際に2種類のスイセンが含まれており、それぞれが土壌のpHに対して非常に異なる反応を示すことを知りませんでした。したがって、グラフには2つの異なる線形関係が含まれます。

土壌pHと花の高さ(cm)

もちろん、目で見て、手動で分離できます。しかし、もっと厳密なアプローチがあるのだろうか。

質問:

  1. データセットが1行またはN行のどちらに適しているかを判断する統計的テストはありますか?

  2. N行に適合する線形回帰を実行するにはどうすればよいですか?言い換えれば、混合データのもつれを解くにはどうすればよいですか?

いくつかの組み合わせアプローチを考えることができますが、それらは計算量が多いようです。


明確化:

  1. 2つの品種の存在は、データ収集の時点では不明でした。各水仙の多様性は観察も記録もされていません。

  2. この情報を回復することは不可能です。水仙はデータ収集の時から死んでいます。

私は、この問題はクラスタリングアルゴリズムの適用に似たもので、開始する前にクラスターの数をほとんど知る必要があるという印象を持っています。どのデータセットでも、行数を増やすとrmsエラーの合計が減ると思います。極端な場合、データセットを任意のペアに分割し、各ペアに線を引くだけです。(たとえば、1000個のデータポイントがある場合、それらを500個の任意のペアに分割し、各ペアに線を引くことができます。)近似は正確で、rmsエラーは正確にゼロになります。しかし、それは私たちが望むものではありません。「正しい」行数が必要です。



3
どのダフォジルがどのバラエティーであるか知っていますか?その場合は、その情報をモデルに含めることができます
rep_ho

1
@Demetri Pananosの答えのように、これは統計的相互作用の典型的なケースのようです。
rolando2

2
私は彼らがデータに花がどの品種であったかについての情報を持っていないという感覚を得る。彼らがそれを持っていれば、これは単に相互作用モデルを構築する場合、または単に各種類ごとに別々の回帰を実行する場合であることに同意します。しかし、彼らがその情報を持っていなければ、すべての希望が失われるわけではありません。別の線を推定するだけでなく、各観測値がいずれかのグループに属する確率を予測するモデルを構築できます。
デイソン

1
@DemetriPananosうまくいけば意味のある答えを提供しました。彼らが何をしたいのかに応じて、それはかなり多くの作業です。何らかのテストを行うには、尤度比テストを行うか、何らかのランダム化テストなどを行う必要があります。しかし、彼らは私たちにあまり多くの情報を与えておらず、目標が単に行に収まることであり、ラベルがない場合は、mixtoolsパッケージを使用してもそれほど悪くはありません。
デイソン

回答:


31

Demetriの答えは、さまざまな種類のラベルがあると仮定した場合、素晴らしい答えだと思います。私があなたの質問を読んだとき、それは私には当てはまらないようでした。EMアルゴリズムに基づいたアプローチを使用して、基本的にDemetriが提案するモデルに適合させることができますが、品種のラベルはわかりません。幸いなことに、Rのmixtoolsパッケージはこの機能を提供してくれます。データは完全に分離されており、かなりの量があるように見えるため、かなり成功するはずです。

library(mixtools)

# Generate some fake data that looks kind of like yours
n1 <- 150
ph1 = runif(n1, 5.1, 7.8)
y1 <- 41.55 + 5.185*ph1 + rnorm(n1, 0, .25)

n2 <- 150
ph2 <- runif(n2, 5.3, 8)
y2 <- 65.14 + 1.48148*ph2 + rnorm(n2, 0, 0.25)

# There are definitely better ways to do all of this but oh well
dat <- data.frame(ph = c(ph1, ph2), 
                  y = c(y1, y2), 
                  group = rep(c(1,2), times = c(n1, n2)))

# Looks about right
plot(dat$ph, dat$y)

# Fit the regression. One line for each component. This defaults
# to assuming there are two underlying groups/components in the data
out <- regmixEM(y = dat$y, x = dat$ph, addintercept = T)

結果を調べることができます

> summary(out)
summary of regmixEM object:
          comp 1    comp 2
lambda  0.497393  0.502607
sigma   0.248649  0.231388
beta1  64.655578 41.514342
beta2   1.557906  5.190076
loglik at estimate:  -182.4186 

したがって、2つの回帰に適合し、観測値の49.7%がコンポーネント1の回帰に、50.2%がコンポーネント2の回帰に含まれると推定しました。

シミュレーションに使用した「true」値は次の行を提供する必要があります。

y = 41.55 + 5.185 * phおよびy = 65.14 + 1.48148 * ph

(私が作成したデータがあなたのものに似ているように、私はあなたのプロットから「手で」推定しました)、この場合にEMアルゴリズムが与えた行は次のとおりでした:

y = 41.514 + 5.19 * phおよびy = 64.655 + 1.55 * ph

実際の値にかなり近い。

フィット線をデータとともにプロットできます

plot(dat$ph, dat$y, xlab = "Soil Ph", ylab = "Flower Height (cm)")
abline(out$beta[,1], col = "blue") # plot the first fitted line
abline(out$beta[,2], col = "red") # plot the second fitted line

EM経由のフィットライン


21

編集:私はもともとOPはどの観察がどの種から来たのか知っていると思っていました。OPの編集により、私の元のアプローチが実行可能でないことが明らかになりました。後世のために残しておきますが、他の答えははるかに優れています。慰めとして、私はスタンの混合モデルをコーディングしました。この場合、ベイジアンのアプローチが特に良いと言っているわけではありませんが、それは私が貢献できる素晴らしいものです。

スタンコード

data{

  //Number of data points
  int N; 

  real y[N];
  real x[N];
}
parameters{
  //mixing parameter
  real<lower=0, upper =1>  theta;

  //Regression intercepts
  real beta_0[2];

  //Regression slopes.
  ordered[2] beta_1;

  //Regression noise
  real<lower=0> sigma[2];
}
model{

  //priors
  theta ~ beta(5,5);
  beta_0 ~ normal(0,1);
  beta_1 ~ normal(0,1);
  sigma ~ cauchy(0,2.5);

  //mixture likelihood
  for (n in 1:N){
    target+=log_mix(theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));
  }
}
generated quantities {
  //posterior predictive distribution
  //will allow us to see what points belong are assigned
  //to which mixture 
  matrix[N,2] p;
  matrix[N,2] ps;
  for (n in 1:N){
    p[n,1] = log_mix(theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));

    p[n,2]= log_mix(1-theta,
                     normal_lpdf(y[n] | beta_0[1] + beta_1[1]*x[n], sigma[1]),
                     normal_lpdf(y[n] | beta_0[2] + beta_1[2]*x[n], sigma[2]));

    ps[n,]= p[n,]/sum(p[n,]);
  }
}

Rからスタンモデルを実行する

library(tidyverse)
library(rstan)


#Simulate the data
N = 100
x = rnorm(N, 0, 3)
group = factor(sample(c('a','b'),size = N, replace = T))

y = model.matrix(~x*group)%*% c(0,1,0,2) 
y = as.numeric(y) + rnorm(N)

d = data_frame(x = x, y = y)

d %>% 
  ggplot(aes(x,y))+
  geom_point()

#Fit the model
N = length(x)
x = as.numeric(x)
y = y

fit = stan('mixmodel.stan', 
           data = list(N= N, x = x, y = y),
           chains = 8,
           iter = 4000)

結果

ここに画像の説明を入力してください

破線はグラウンドトゥルース、実線は推定値です。


元の回答

どのサンプルがどの種類の水仙に由来するかがわかっている場合、品種と土壌PHの相互作用を推定できます。

モデルは次のようになります

y=β0+β1variety+β2PH+β3varietyPH

Rの例を次に示します。次のようなデータを生成しました。

ここに画像の説明を入力してください

明らかに2つの異なる線、および線は2つの種に対応しています。線形回帰を使用してラインを推定する方法は次のとおりです。

library(tidyverse)

#Simulate the data
N = 1000
ph = runif(N,5,8)
species = rbinom(N,1,0.5)

y = model.matrix(~ph*species)%*% c(20,1,20,-3) + rnorm(N, 0, 0.5)
y = as.numeric(y)

d = data_frame(ph = ph, species = species, y = y)

#Estimate the model
model = lm(y~species*ph, data = d)
summary(model)

そして結果は

> summary(model)

Call:
lm(formula = y ~ species * ph, data = d)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.61884 -0.31976 -0.00226  0.33521  1.46428 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 19.85850    0.17484  113.58   <2e-16 ***
species     20.31363    0.24626   82.49   <2e-16 ***
ph           1.01599    0.02671   38.04   <2e-16 ***
species:ph  -3.03174    0.03756  -80.72   <2e-16 ***
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4997 on 996 degrees of freedom
Multiple R-squared:  0.8844,    Adjusted R-squared:  0.8841 
F-statistic:  2541 on 3 and 996 DF,  p-value: < 2.2e-16

0というラベルが付けられた種の場合、線はおよそ

y=19+1PH

1というラベルが付けられた種の場合、線はおよそ

y=402PH


OPがさまざまな水仙を事前に知っている場合、なぜデータを単に2つの部分に分割し、各種類に対して2つの別々の回帰を実行できないのでしょうか?
アカバル

OPが水仙の品種の違いに関心がない場合(たとえば、品種1は土壌PHで条件付けられた品種2よりも高くなります)、精度を取り巻く引数を除いて、すべてのデータを一緒に回帰する理由はありません。
デメトリパナノス

@Akavail-データを分割できますが、このように実行すると、品種間の違いに関する仮説のテストに興味がある場合に、あらゆる種類の比較を簡単に実行できます。等分散の仮定が有効な場合、組み合わせて実行すると、わずかに良い推定値が得られます。
デイソン

1
EMアプローチを検討する前に、ベイジアンアプローチを検討しました。しかし、ベイジアンのやり方を好むのと同じくらい、私は怠け者になり、EMアプローチをとる方がはるかに簡単です。それで、私はベイジアン分析を非常に好んでおり、フォローアップの質問に答えるのもはるかに簡単になると思います-最初のモデルをコーディングするのは難しいかもしれませんが、一度それを行うと、事後分布。
デイソン

2

統計的アプローチは上記の2つの答えに非常に似ていますが、予備知識が不足している場合に潜在クラスの数を選択する方法をもう少し扱います。潜在クラスの数を選択する際のガイドとして、情報基準または節約を使用できます。

以下は、2〜4個の潜在クラス/コンポーネントを持つ有限混合モデル(FMM)のシーケンスを使用したStataの例です。最初の表は、潜在クラスメンバーシップの係数です。これらは解釈が少し難しいですが、後でに変換して確率に変換できますestat lcprob。クラスごとに、インターセプトとph勾配パラメーター、さらに潜在クラスの周辺確率、および2つのサンプル内ICも取得します。これらの係数推定値は、線形回帰モデルの係数として解釈されます。ここで、最小のサンプル内 BICは、2つのコンポーネントモデルを最適なものとして選択するように指示しています。AICは奇妙なことに3コンポーネントモデルを選択します。サンプル外の ICを使用して、相互検証を選択または使用することもできます。

.01433133004

FMMアプローチは、クラスがそれほど明確でない場合、実際にこれが常にうまく機能するとは限りません。特に十分なデータがない場合、または尤度関数に複数の局所最大値がある場合は、潜在クラスが多すぎると計算が困難になる可能性があります。

. clear

. /* Fake Data */
. set seed 10011979

. set obs 300
number of observations (_N) was 0, now 300

. gen     ph = runiform(5.1, 7.8) in 1/150
(150 missing values generated)

. replace ph = runiform(5.3, 8)   in 151/300
(150 real changes made)

. gen y      = 41.55 + 5.185*ph   + rnormal(0, .25)  in 1/150
(150 missing values generated)

. replace y  = 65.14 + 1.48148*ph + rnormal(0, 0.25) in 151/300
(150 real changes made)

. 
. /* 2 Component FMM */
. fmm 2, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood =  -194.5215

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |   .0034359   .1220066     0.03   0.978    -.2356927    .2425645
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173137   .0251922   205.35   0.000     5.123761    5.222513
       _cons |     41.654   .1622011   256.80   0.000      41.3361    41.97191
-------------+----------------------------------------------------------------
     var(e.y)|   .0619599   .0076322                      .0486698     .078879
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.486062    .026488    56.10   0.000     1.434147    1.537978
       _cons |   65.10664   .1789922   363.74   0.000     64.75582    65.45746
-------------+----------------------------------------------------------------
     var(e.y)|   .0630583   .0075271                      .0499042    .0796797
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |    .499141   .0305016      .4396545    .5586519
          2  |    .500859   .0305016      .4413481    .5603455
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -194.5215       7     403.043   428.9695
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.

. 
. /* 3 Component FMM */
. fmm 3, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood =  -187.4824

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |  -.0312504    .123099    -0.25   0.800    -.2725199    .2100192
-------------+----------------------------------------------------------------
3.Class      |
       _cons |  -3.553227   .5246159    -6.77   0.000    -4.581456   -2.524999
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173077   .0252246   205.08   0.000     5.123637    5.222516
       _cons |   41.65412     .16241   256.48   0.000      41.3358    41.97243
-------------+----------------------------------------------------------------
     var(e.y)|   .0621157   .0076595                      .0487797    .0790975
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.476049   .0257958    57.22   0.000      1.42549    1.526608
       _cons |   65.18698   .1745018   373.56   0.000     64.84496    65.52899
-------------+----------------------------------------------------------------
     var(e.y)|   .0578413   .0070774                      .0455078    .0735173
------------------------------------------------------------------------------

Class          : 3
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.776746   .0020074   885.09   0.000     1.772811     1.78068
       _cons |   62.76633   .0134072  4681.54   0.000     62.74005    62.79261
-------------+----------------------------------------------------------------
     var(e.y)|   9.36e-06   6.85e-06                      2.23e-06    .0000392
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |   .5005343   .0304855      .4410591    .5599944
          2  |   .4851343   .0306119      .4256343    .5450587
          3  |   .0143313   .0073775      .0051968     .038894
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -187.4824      11    396.9648   437.7064
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.

. 
. /* 4 Component FMM */
. fmm 4, nolog: regress y ph

Finite mixture model                            Number of obs     =        300
Log likelihood = -188.06042

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.Class      |  (base outcome)
-------------+----------------------------------------------------------------
2.Class      |
       _cons |  -.6450345   .5853396    -1.10   0.270    -1.792279      .50221
-------------+----------------------------------------------------------------
3.Class      |
       _cons |  -.8026907   .6794755    -1.18   0.237    -2.134438    .5290568
-------------+----------------------------------------------------------------
4.Class      |
       _cons |  -3.484714   .5548643    -6.28   0.000    -4.572229     -2.3972
------------------------------------------------------------------------------

Class          : 1
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   5.173031   .0251474   205.71   0.000     5.123743    5.222319
       _cons |   41.65574    .161938   257.23   0.000     41.33835    41.97313
-------------+----------------------------------------------------------------
     var(e.y)|   .0617238   .0076596                      .0483975    .0787195
------------------------------------------------------------------------------

Class          : 2
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.503764   .0371216    40.51   0.000     1.431007    1.576521
       _cons |   65.13498   .2666049   244.31   0.000     64.61244    65.65751
-------------+----------------------------------------------------------------
     var(e.y)|   .0387473   .0188853                      .0149062    .1007195
------------------------------------------------------------------------------

Class          : 3
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.441334   .0443892    32.47   0.000     1.354333    1.528335
       _cons |   65.26791   .2765801   235.98   0.000     64.72582       65.81
-------------+----------------------------------------------------------------
     var(e.y)|   .0307352    .010982                      .0152578    .0619127
------------------------------------------------------------------------------

Class          : 4
Response       : y
Model          : regress

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
y            |
          ph |   1.665207   .0079194   210.27   0.000     1.649685    1.680728
       _cons |   63.42577   .0510052  1243.52   0.000      63.3258    63.52573
-------------+----------------------------------------------------------------
     var(e.y)|    .000096   .0000769                        .00002    .0004611
------------------------------------------------------------------------------

. estat lcprob

Latent class marginal probabilities             Number of obs     =        300

--------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.     [95% Conf. Interval]
-------------+------------------------------------------------
       Class |
          1  |   .4991443   .0304808      .4396979     .558615
          2  |   .2618733   .1506066      .0715338    .6203076
          3  |   .2236773    .150279      .0501835    .6110804
          4  |    .015305    .008329       .005234    .0438994
--------------------------------------------------------------

. estat ic

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |        300         .  -188.0604      15    406.1208   461.6776
-----------------------------------------------------------------------------
               Note: N=Obs used in calculating BIC; see [R] BIC note.

この非常に興味深い答えをありがとう。あなたは私に研究のためのいくつかの新しい概念を与えました!
SlowMagic

0

Dasonはすでにモデリングの部分をカバーしているので、統計的有意性の問題に焦点を当てます。

私はこのための正式なテスト(私は確かに存在する)に慣れていないので、そこにいくつかのアイデアを放り出します(そしておそらくRコードと技術的な詳細を後で追加します)。

まず、クラスを推測すると便利です。2つのラインがデータに適合すると仮定すると、各ポイントをそれに最も近いラインのクラスに割り当てることにより、2つのクラスを近似的に再構築できます。交差点近くのポイントでは、問題に遭遇しますが、今のところはそれらを無視してください(これを回避する方法があるかもしれませんが、今のところこれがあまり変わらないことを望んでいます)。

xlxrxlxrxlxr

次に、これを行うために私が見ている2つの自然な方法があります。

あまり面白くない方法は、Demetriの答えのように、線形回帰を通じて推定クラスラベルと組み合わせて元のデータセットを実行することです。

これを行うためのより興味深い方法は、ANOVAの修正バージョンを使用することです。重要なのは、2本の線(それらの間の広がりが似ている)を表す人工データセットを作成し、ANOVAを適用することです。技術的には、これを左側で1回、右側で1回行う必要があります(つまり、2つの人工データセットがあります)。

y1(i)=β1,1x1(i)+β1,0+e1(i)
β1,1x1(i)+β1,0
β1,1xavg+β1,0
xlavgxy1(i)
y~1(i)=β1,1xavg+β1,0+e1(i),
y~1(i)y~2(i)

N


-2

同じチャートに両方を含めるとエラーになる可能性はありますか?品種が完全に異なる振る舞いをすることを考えると、データをオーバーラップすることに価値はありますか?あなたは水仙の種への影響を探しているように見えますが、異なる水仙に対する同様の環境の影響ではありません。種 "B"から種 "A"を判別するのに役立つデータを失った場合、行動 "A"と行動 "B"をグループ化し、2つの種の発見を物語に含めることができます。または、1つのグラフが本当に必要な場合は、同じ軸で2つのデータセットを使用するだけです。与えられた他の回答に見られる専門知識に近い場所がないので、「スキルの低い」方法を見つける必要があります。方程式を作成しやすいワークシート環境でデータ分析を実行します。その後、グループ化が明確になったら、2つの個別のデータテーブルを作成してから、それらをグラフ/グラフに変換します。私は大量のデータを扱っていますが、相関関係が異なるという仮定が間違っていることがよくあります。それが、データを発見するのに役立つはずです。自分の仮定が間違っていることを知ると、発見された行動に基づいてデータを表示し、それらの行動と結果の統計分析を物語の一部として議論します。


1
あなたの答えは質問への回答に明確さや洞察を与えていないので、あなたは投票されたと推測します。回答をより有用に構成し、各ポイントで対処するサブ質問を明確にする必要があります。質問は回答間および回答の前に更新され、さまざまな情報が利用可能ではなく、回復できないことを明確に述べました。
ReneBt

2
Cross Validatedへようこそ!最初の回答が受け入れられないことで先延ばしにしないでください-シンプルなソリューションは非常に便利です-しかし、質問者はすでに「私はそれを目で見て、手動で分離することができます」と述べているので、そうではないようです多くを追加します。
Scortchi-モニカの復職
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.