sapply(1:14, function (x) {
a <- x
b <- x * x
c(a,b)
}
)
matrix(sapply(1:14, function (x) {
a <- x
b <- x * x
c(a,b)
}
),
ncol=2, byrow=T)
sapply(1:14, function (x) {
a <- x
b <- x * x
c(a,b)
}, simplify = F
)
Consider a list of two vectors, one numerical vector holding a code and a vector of characters holding a name:
str(tingsrätter) List of 2 $ kod : num [1:12] 448 449 457 263 264 265 450 451 453 458 ... $ namn: chr [1:12] "Göteborg" "Mölndal" "Alingsås" "Lidköping" ...
Suppose you want to construct a string by combining the name with the code, e.g. for use in a filename.
unlist(lapply(tingsrätter$namn, function (x) (paste(x, "-", tingsrätter$kod[tingsrätter$namn == x], ".txt", sep = ""))))
Or you could do it in a more for-loop-like way
unlist(lapply(1:length(tingsrätter$namn), function (x) (paste(tingsrätter$namn[x], "-", tingsrätter$kod[x], ".txt", sep = ""))))
get row.profiles or column profiles in percentages E.g this frequency table
table(eld,aktfast)
aktfast
eld ingen gång 1 gång 2 ggr 3 ggr eller fler
Ingen gång 6186 627 93 64
1-2 ggr 169 51 23 22
3-5 ggr 18 9 6 10
6-10 ggr 8 6 2 7
11-50 ggr 7 2 2 4
Mer än 50 ggr 6 3 1 2
my.prop.table.by.column("eld", "aktfast", ar.2005)
ingen gång 1 gång 2 ggr 3 ggr eller fler
Ingen gång 97 90 73 59
1-2 ggr 3 7 18 20
3-5 ggr 0 1 5 9
6-10 ggr 0 1 2 6
11-50 ggr 0 0 2 4
Mer än 50 ggr 0 0 1 2
my.prop.table <- function (row = "foo", column = "bar", dataframe = data.frame, by = "row") {
a <- prop.table(table(dataframe[[row]], dataframe[[column]]))
index <- 2
n <- nrow(a)
byrow = F
if (by == "row") {
index <- 1
n <- ncol(a)
byrow = T
}
b <- apply(a, index, sum)
round(100*(a/matrix(unlist(sapply(b, function (x) (rep(x, n)))), ncol=ncol(a), byrow = byrow)))
}