никакой "#", когда Вы используете window.location.hash
Один из способов сделать это - использовать факторы или списки строк вместо индексов. Итак:
cause1 <- c("Maltreat", "Non-malt")[cause]
> print(cause1)
[1] "Maltreat" "Maltreat" "Maltreat" "Maltreat" "Maltreat" "Non-malt"
[7] "Maltreat" "Non-malt" "Non-malt" "Non-malt" "Non-malt"
> table(cause1, time)
time
cause1 1 2 3
Maltreat 2 2 2
Non-malt 2 3 0
И, если вас беспокоит память или скорость, R довольно хорошо справляется с внутренним представлением такого рода вещей, с сохранением только одного экземпляра всей строки, а остальное делается с помощью индексов.
Между прочим, вы будете счастливее в конечном итоге с фреймами данных:
> df <- data.frame(cause=as.factor(c("Maltreat", "Non-malt")[cause]), time=time)
> summary(df)
cause time
Maltreat:6 Min. :1.000
Non-malt:5 1st Qu.:1.000
Median :2.000
Mean :1.818
3rd Qu.:2.000
Max. :3.000
> table(df)
time
cause 1 2 3
Maltreat 2 2 2
Non-malt 2 3 0
Есть два простых способа сделать это:
z <- table(cause, time)
Используйте colnames / rownames functions:
> colnames(z)
[1] "1" "2" "3"
> rownames(z)
[1] "1" "2"
Или используйте dimnames:
> dimnames(z)
$cause
[1] "1" "2"
$time
[1] "1" "2" "3"
> dimnames(z)$cause
[1] "1" "2"
В любом случае выберите свои имена в качестве вектора и назначьте их:
> dimnames(z)$cause <- c("Maltreat","Non-malt")
> z
time
cause 1 2 3
Maltreat 2 2 2
Non-malt 2 3 0