diff options
author | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2010-05-18 12:58:38 +0000 |
---|---|---|
committer | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2010-05-18 12:58:38 +0000 |
commit | 16f5b1d3c0136413e92b2be0f20d365e92e9cd1c (patch) | |
tree | edab7b27ba4253b9dd45520e504c54851f65f26f /R/mkin_wide_to_long.R | |
parent | 30cbb4092f6d2d3beff5800603374a0d009ad770 (diff) |
Much more complete version that was just submitted to CRAN.
git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/mkin@9 edb9625f-4e0d-4859-8d74-9fd3b1da38cb
Diffstat (limited to 'R/mkin_wide_to_long.R')
-rw-r--r-- | R/mkin_wide_to_long.R | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/R/mkin_wide_to_long.R b/R/mkin_wide_to_long.R new file mode 100644 index 0000000..6db2f33 --- /dev/null +++ b/R/mkin_wide_to_long.R @@ -0,0 +1,13 @@ +mkin_wide_to_long <- function(wide_data, time = "t")
+{
+ colnames <- names(wide_data)
+ vars <- subset(colnames, colnames != time)
+ n <- length(colnames) - 1
+ if (!(time %in% colnames)) stop("The data in wide format have to contain a variable named ", time, ".")
+ long_data <- data.frame(
+ name = rep(vars, each = length(wide_data[[time]])),
+ time = rep(wide_data[[time]], n),
+ value = unlist(wide_data[vars]),
+ row.names = NULL)
+ return(long_data)
+}
|