

muscle(MASS)                                 R Documentation

_E_f_f_e_c_t _o_f _C_a_l_c_i_u_m _C_h_l_o_r_i_d_e _o_n _M_u_s_c_l_e _C_o_n_t_r_a_c_t_i_o_n _i_n _R_a_t
_H_e_a_r_t_s

_D_e_s_c_r_i_p_t_i_o_n_:

     The purpose of this experiment was to assess the influ-
     ence of calcium in solution on the contraction of heart
     muscle in rats.  The left auricle of 21 rat hearts was
     isolated and on several occasions a constant-length
     strip of tissue was electrically stimulated and dipped
     into various concentrations of calcium chloride solu-
     tion, after which the shortening of the strip was accu-
     rately measured as the response.

_A_r_g_u_m_e_n_t_s_:

   Strip: which heart muscle strip was used?

    Conc: concentration of calcium chloride solution, in
          multiples of 2.2 mM.

  Length: the change in length (shortening) of the strip,
          (allegedly) in mm.

_F_o_r_m_a_t_:

     This data frame contains the following columns:

_S_o_u_r_c_e_:

     Linder, A., Chakravarti, I. M. and Vuagnat, P. (1964)
     Fitting asymptotic regression curves with different
     asymptotes.  In Contributions to Statistics. Presented
     to Professor P. C. Mahalanobis on the occasion of his
     70th birthday, ed. C. R. Rao, pp. 221-228. Oxford:
     Pergamon Press.

_E_x_a_m_p_l_e_s_:

     data(muscle)
     A <- model.matrix(~ Strip - 1, data=muscle)
     rats.nls1 <- nls(log(Length) ~ cbind(A, rho^Conc),
        data = muscle, start = c(rho=0.1), algorithm="plinear")
     B <- coef(rats.nls1)
     B

     st <- list(alpha = B[2:22], beta = B[23], rho = B[1])
     rats.nls2 <- nls(log(Length) ~ alpha[Strip] + beta*rho^Conc,
                       data = muscle, start = st)

     attach(muscle)
     Muscle <- expand.grid(Conc = sort(unique(Conc)),
                          Strip = levels(Strip))
     Muscle$Yhat <- predict(rats.nls2, Muscle)
     Muscle <- cbind(Muscle, logLength = rep(NA, 126))
     ind <- match(paste(Strip, Conc),
                 paste(Muscle$Strip, Muscle$Conc))
     Muscle$logLength[ind] <- log(Length)
     detach()

     xyplot(Yhat ~ Conc | Strip, Muscle, as.table = TRUE,
       ylim = range(c(Muscle$Yhat, Muscle$logLength), na.rm=TRUE),
       subscripts = TRUE, xlab = "Calcium Chloride concentration (mM)",
       ylab = "log(Length in mm)", panel =
       function(x, y, subscripts, ...) {
          lines(spline(x, y))
          panel.xyplot(x, Muscle$logLength[subscripts], ...)
       })

