Невозможно вычислить попарные ассоциации по всем столбцам в кадре данных? - PullRequest
0 голосов
/ 18 января 2019
work<-expand.grid(paste0('df$',names(df)),paste0('df$',names(df)))
SomersD <- c()
for (j in 1:nrow(work))
  SomersD<-c(SomersD,SomersDelta(work[j,]$Var1,work[j,]$Var2))

 work<-
         Var1         Var2
    1 df$Polymer.1 df$Polymer.1
    2 df$Polymer.2 df$Polymer.1
    3 df$Polymer.3 df$Polymer.1
    4 df$Polymer.4 df$Polymer.1
    5  df$Filler.1 df$Polymer.1
    6  df$Filler.2 df$Polymer.1
...

Но теперь, когда я пытаюсь перебрать каждую строку в моей рабочей матрице и вычислить SomersDelta между соответствующими вводами, я просто получаю NaN.

Я хочу вычислить SomersDelta(df$Polymer.1, df$Filler.1), если в моей строке есть эти две соответствующие записи, например. По какой-то причине это не работает, и я понятия не имею, почему.

Помощь

====

> head(df)
# A tibble: 6 x 14
  Polymer.1 Polymer.2 Polymer.3 Polymer.4 Filler.1 Filler.2 Filler.3 Oil.1 Oil.2 Co.Agent.1 Co.Agent.2 Tensile.Strength Elongation
      <int>     <int>     <int>     <int>    <int>    <int>    <int> <int> <int>      <dbl>      <dbl>            <dbl>      <dbl>
1       100         0         0         0       50        0        0    30     0        2.4        0               8.38       188.
2       100         0         0         0       50        0        0     0    30        2.4        0               8.40       180.
3       100         0         0         0       60        0        0     0    36        1.7        1               8.40       130.
4       100         0         0         0       40        0        0    24     0        2.1        0.4             9.05       192.
5         0         0       100         0        0       50        0     0    30        0.6        2.3             9.44       162.
6         0         0         0       100       50        0        0    30     0        1.3        1.7             8.87       227.
...