- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难通过这个 rle
data.frame
上的函数.函数在另一组上效果很好:
fgroup <- aggregate(fevents2[,3:14], list(weeks = fevents2[, 1]), function(x) rle(x)$values)
Error in rle(x) : 'x' must be an atomic vector
> dput(fevents2[1:20,])
structure(list(weeks = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1",
"2", "3", "4", "5", "6", "7"), class = "factor"), A1M.Date = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("2012-05-09", "2012-05-10", "2012-05-11",
"2012-05-14", "2012-05-15", "2012-05-17", "2012-05-18", "2012-05-21",
"2012-05-22", "2012-05-24", "2012-05-25", "2012-05-28", "2012-05-29",
"2012-05-30", "2012-05-31", "2012-06-04", "2012-06-05", "2012-06-07",
"2012-06-08", "2012-06-11", "2012-06-12", "2012-06-14", "2012-06-15",
"2012-06-18", "2012-06-19", "2012-06-21", "2012-06-22"), class = "factor"),
vv = structure(c(8L, 8L, 8L, 20L, 24L, 24L, 24L, 1L, 13L,
13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 24L), .Label = c("C AA",
"C AJ", "C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV",
"C VB", "C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA",
"G JR", "G RJ", "G RR", "G RV", "G VB", "G VR", "nil"), class = "factor"),
rv = structure(c(25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L,
10L, 10L, 22L, 22L, 22L, 25L, 10L, 22L, 22L, 22L, 22L, 25L
), .Label = c("C AA", "C AJ", "C BB", "C BV", "C JA", "C JR",
"C RJ", "C RR", "C RV", "C VB", "C VR", "C VV", "G AA", "G AJ",
"G BB", "G BV", "G JA", "G JR", "G RJ", "G RR", "G RV", "G VB",
"G VR", "G VV", "nil"), class = "factor"), ja = structure(c(12L,
12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 25L, 25L,
12L, 24L, 24L, 24L, 24L, 24L, 24L), .Label = c("C AA", "C AJ",
"C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV", "C VB",
"C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA", "G JR",
"G RJ", "G RR", "G RV", "G VB", "G VR", "G VV", "nil"), class = "factor"),
aa = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 25L, 25L,
25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L), .Label = c("C AA",
"C AJ", "C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV",
"C VB", "C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA",
"G JR", "G RJ", "G RR", "G RV", "G VB", "G VR", "G VV", "nil"
), class = "factor"), bv = structure(c(25L, 11L, 11L, 11L,
23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L,
23L, 23L, 23L, 23L), .Label = c("C AA", "C AJ", "C BB", "C BV",
"C JA", "C JR", "C RJ", "C RR", "C RV", "C VB", "C VR", "C VV",
"G AA", "G AJ", "G BB", "G BV", "G JA", "G JR", "G RJ", "G RR",
"G RV", "G VB", "G VR", "G VV", "nil"), class = "factor"),
aj = structure(c(7L, 7L, 7L, 25L, 25L, 25L, 25L, 25L, 9L,
9L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 25L, 25L), .Label = c("C AA",
"C AJ", "C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV",
"C VB", "C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA",
"G JR", "G RJ", "G RR", "G RV", "G VB", "G VR", "G VV", "nil"
), class = "factor"), vb = structure(c(1L, 1L, 1L, 25L, 25L,
25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 2L,
25L, 2L, 2L), .Label = c("C AA", "C AJ", "C BB", "C BV",
"C JA", "C JR", "C RJ", "C RR", "C RV", "C VB", "C VR", "C VV",
"G AA", "G AJ", "G BB", "G BV", "G JA", "G JR", "G RJ", "G RR",
"G RV", "G VB", "G VR", "G VV", "nil"), class = "factor"),
rj = structure(c(5L, 5L, 16L, 16L, 16L, 16L, 16L, 16L, 16L,
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L), .Label = c("C AA",
"C AJ", "C BB", "C BV", "C JR", "C RJ", "C RR", "C RV", "C VB",
"C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JR", "G RJ",
"G RR", "G RV", "G VB", "G VR", "G VV", "nil"), class = "factor"),
rr = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("C AA",
"C AJ", "C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV",
"C VB", "C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA",
"G JR", "G RJ", "G RR", "G RV", "G VB", "G VR", "G VV", "nil"
), class = "factor"), vr = structure(c(5L, 5L, 5L, 25L, 25L,
7L, 7L, 7L, 7L, 7L, 25L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L), .Label = c("C AA", "C AJ", "C BB", "C BV", "C JA", "C JR",
"C RJ", "C RR", "C RV", "C VB", "C VR", "C VV", "G AA", "G AJ",
"G BB", "G BV", "G JA", "G JR", "G RJ", "G RR", "G RV", "G VB",
"G VR", "G VV", "nil"), class = "factor"), bb = structure(c(4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L), .Label = c("C AA", "C AJ", "C BB", "C BV",
"C JA", "C JR", "C RJ", "C RR", "C RV", "C VB", "C VR", "C VV",
"G AA", "G AJ", "G BB", "G BV", "G JA", "G RJ", "G RR", "G RV",
"G VB", "G VR", "G VV", "nil"), class = "factor"), jr = structure(c(25L,
25L, 10L, 10L, 22L, 22L, 25L, 25L, 25L, 25L, 25L, 25L, 25L,
25L, 25L, 25L, 5L, 5L, 5L, 5L), .Label = c("C AA", "C AJ",
"C BB", "C BV", "C JA", "C JR", "C RJ", "C RR", "C RV", "C VB",
"C VR", "C VV", "G AA", "G AJ", "G BB", "G BV", "G JA", "G JR",
"G RJ", "G RR", "G RV", "G VB", "G VR", "G VV", "nil"), class = "factor")),
.Names = c("weeks",
"A1M.Date", "vv", "rv", "ja", "aa", "bv", "aj", "vb", "rj", "rr",
"vr", "bb", "jr"), row.names = c(NA, 20L), class = "data.frame")
str(fevents2)
data.frame': 1430 obs. of 14 variables:
$ weeks : Factor w/ 7 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ A1M.Date: Factor w/ 27 levels "2012-05-09","2012-05-10",..: 1 1 1 1 1 1 1 1 1 1 ...
$ vv : Factor w/ 24 levels "C AA","C AJ",..: 8 8 8 20 24 24 24 1 13 13 ..
$ rv : Factor w/ 25 levels "C AA","C AJ",..: 25 25 25 25 25 25 25 25 10 10 ...
$ ja : Factor w/ 25 levels "C AA","C AJ",..: 12 12 12 12 12 12 12 12 12 12 ...
$ aa : Factor w/ 25 levels "C AA","C AJ",..: 2 2 2 2 2 2 2 2 25 25 ...
$ bv : Factor w/ 25 levels "C AA","C AJ",..: 25 11 11 11 23 23 23 23 23 23 ...
$ aj : Factor w/ 25 levels "C AA","C AJ",..: 7 7 7 25 25 25 25 25 9 9 ...
$ vb : Factor w/ 25 levels "C AA","C AJ",..: 1 1 1 25 25 25 25 25 25 25 ...
$ rj : Factor w/ 23 levels "C AA","C AJ",..: 5 5 16 16 16 16 16 16 16 16 ...
$ rr : Factor w/ 25 levels "C AA","C AJ",..: 3 3 3 3 3 3 3 3 3 3 ...
$ vr : Factor w/ 25 levels "C AA","C AJ",..: 5 5 5 25 25 7 7 7 7 7 ...
$ bb : Factor w/ 24 levels "C AA","C AJ",..: 4 4 4 4 4 4 4 4 4 4 ...
$ jr : Factor w/ 25 levels "C AA","C AJ",..: 25 25 10 10 22 22 25 25 25 25 ...
NULL
factor
s,但正在转换
factor
转至
numeric
和
as.numeric(as.character(fevents2))
sapply(fevents2, function(x) as.numeric(as.character(x)))
Error in fevents3[, 3:14] : incorrect number of dimensions
In addition: Warning message:
In eval.with.vis(expr, envir, enclos) : NAs introduced by coercion
data.frame
上的
rle
功能工作:
dput(fevents[1:20,]
structure(list(weeks = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1), A1M.Date = c("2012-05-09", "2012-05-09",
"2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09",
"2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09",
"2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09", "2012-05-09",
"2012-05-09", "2012-05-09", "2012-05-09"), vv = c("C RR", "C RR",
"C RR", "G RR", "nil", "nil", "nil", "C AA", "G AA", "G AA",
"G AA", "G AA", "G AA", "G AA", "G AA", "G AA", "G AA", "G AA",
"G AA", "nil"), rv = c("nil", "nil", "nil", "nil", "nil", "nil",
"nil", "nil", "C VB", "C VB", "G VB", "G VB", "G VB", "nil",
"G VB", "G VB", "G VB", "G VB", "G VB", "nil"), ja = c("C VV",
"C VV", "C VV", "C VV", "C VV", "C VV", "C VV", "C VV", "C VV",
"C VV", "C VV", "nil", "nil", "G VV", "G VV", "G VV", "G VV",
"G VV", "G VV", "G VV"), aa = c("C AJ", "C AJ", "C AJ", "C AJ",
"C AJ", "C AJ", "C AJ", "C AJ", "nil", "nil", "nil", "nil", "nil",
"nil", "nil", "nil", "nil", "nil", "nil", "nil"), bv = c("nil",
"C VR", "C VR", "C VR", "G VR", "G VR", "G VR", "G VR", "G VR",
"G VR", "G VR", "G VR", "G VR", "G VR", "G VR", "G VR", "G VR",
"G VR", "G VR", "G VR"), aj = c("C RJ", "C RJ", "C RJ", "nil",
"nil", "nil", "nil", "nil", "C RV", "C RV", "G RV", "G RV", "G RV",
"G RV", "G RV", "G RV", "G RV", "G RV", "nil", "nil"), vb = c("C AA",
"C AA", "C AA", "nil", "nil", "nil", "nil", "nil", "nil", "nil",
"nil", "nil", "nil", "nil", "nil", "nil", "C AJ", "nil", "C AJ",
"C AJ"), rj = c("C JR", "C JR", "G JR", "G JR", "G JR", "G JR",
"G JR", "G JR", "G JR", "G JR", "G JR", "G JR", "G JR", "G JR",
"G JR", "G JR", "G JR", "G JR", "G JR", "G JR"), rr = c("C BB",
"C BB", "C BB", "C BB", "C BB", "C BB", "C BB", "C BB", "C BB",
"C BB", "C BB", "C BB", "C BB", "C BB", "C BB", "C BB", "C BB",
"C BB", "C BB", "C BB"), vr = c("C JA", "C JA", "C JA", "nil",
"nil", "C RJ", "C RJ", "C RJ", "C RJ", "C RJ", "nil", "C RJ",
"C RJ", "C RJ", "C RJ", "C RJ", "C RJ", "C RJ", "C RJ", "C RJ"
), bb = c("C BV", "C BV", "C BV", "C BV", "C BV", "C BV", "C BV",
"C BV", "C BV", "C BV", "C BV", "C BV", "C BV", "C BV", "C BV",
"C BV", "C BV", "C BV", "C BV", "C BV"), jr = c("nil", "nil",
"C VB", "C VB", "G VB", "G VB", "nil", "nil", "nil", "nil", "nil",
"nil", "nil", "nil", "nil", "nil", "C JA", "C JA", "C JA", "C JA"
)), .Names = c("weeks", "A1M.Date", "vv", "rv", "ja", "aa", "bv",
"aj", "vb", "rj", "rr", "vr", "bb", "jr"), row.names = c(NA,
20L), class = "data.frame")
str(fevents)
'data.frame': 1430 obs. of 14 variables:
$ weeks : num 1 1 1 1 1 1 1 1 1 1 ...
$ A1M.Date: chr "2012-05-09" "2012-05-09" "2012-05-09" "2012-05-09" ...
$ vv : chr "C RR" "C RR" "C RR" "G RR" ...
$ rv : chr "nil" "nil" "nil" "nil" ...
$ ja : chr "C VV" "C VV" "C VV" "C VV" ...
$ aa : chr "C AJ" "C AJ" "C AJ" "C AJ" ...
$ bv : chr "nil" "C VR" "C VR" "C VR" ...
$ aj : chr "C RJ" "C RJ" "C RJ" "nil" ...
$ vb : chr "C AA" "C AA" "C AA" "nil" ...
$ rj : chr "C JR" "C JR" "G JR" "G JR" ...
$ rr : chr "C BB" "C BB" "C BB" "C BB" ...
$ vr : chr "C JA" "C JA" "C JA" "nil" ...
$ bb : chr "C BV" "C BV" "C BV" "C BV" ...
$ jr : chr "nil" "nil" "C VB" "C VB" ...
data.frame
将其归档为 CSV 并使用
stringsAsFactors = FALSE
导入它.这不是我想写在我的代码中的...一定有更简单的方法来重新排列
data.frame
的结构取悦
rle
?
最佳答案
问题是一个因子 * 不是 * 原子向量,因为错误清楚地说明了这一点。要么首先将所有因子转换为字符(而不是将它们强制转换为数字!),要么在您应用的匿名函数中进行转换。
所以这实现了第二个想法,工作:
aggregate(fevents2[,3:14], list(weeks = fevents2[, 1]),
function(x) rle(as.character(x))$values)
> aggregate(fevents2[,3:14], list(weeks = fevents2[, 1]),
+ function(x) rle(as.character(x))$values)
weeks vv.1 vv.2 vv.3 vv.4 vv.5 vv.6 rv.1 rv.2 rv.3 rv.4 rv.5 rv.6 rv.7 ja.1
1 1 C RR G RR nil C AA G AA nil nil C VB G VB nil C VB G VB nil C VV
ja.2 ja.3 ja.4 aa.1 aa.2 bv.1 bv.2 bv.3 aj.1 aj.2 aj.3 aj.4 aj.5 vb.1 vb.2
1 nil C VV G VV C AJ nil nil C VR G VR C RJ nil C RV G RV nil C AA nil
vb.3 vb.4 vb.5 rj.1 rj.2 rr vr.1 vr.2 vr.3 vr.4 vr.5 bb jr.1 jr.2 jr.3
1 C AJ nil C AJ C JR G JR C BB C JA nil C RJ nil C RJ C BV nil C VB G VB
jr.4 jr.5
1 nil C JA
aggregate
和
rle
把所有的值(value)观都粘在一起了。你想分开吗
$values
对于
fevents2
中的每个变量你正在聚合?
as.numeric(as.character(fevents2))
不可能工作,因为数据不是数字!并且您无法将这些功能应用于数据框并获得任何您想要的东西 - 如果它们起作用的话。
sapply()
事情应该工作。这是一个版本,它检查每个变量是否是一个因素,如果是,则强制它:
fevents3 <- sapply(fevents2,
function(x) if(is.factor(x)) { as.character(x) } else { x })
sapply()
简化为一个矩阵,它将改变
aggregate()
派发的方法:
> class(fevents3)
[1] "matrix"
fevents3 <- lapply(fevents2,
function(x) if(is.factor(x)) { as.character(x) } else { x })
fevents3 <- data.frame(fevents3, stringsAsFactors = FALSE)
rle()
到拆分数据的每一列并保持单独怎么样
spl <- split(fevents3, list(weeks = fevents3[, 1]))
res <- lapply(spl, function(x) lapply(x[, 3:14], function(y) rle(y)$values))
> res
$`1`
$`1`$vv
[1] "C RR" "G RR" "nil" "C AA" "G AA" "nil"
$`1`$rv
[1] "nil" "C VB" "G VB" "nil" "C VB" "G VB" "nil"
$`1`$ja
[1] "C VV" "nil" "C VV" "G VV"
$`1`$aa
[1] "C AJ" "nil"
$`1`$bv
[1] "nil" "C VR" "G VR"
$`1`$aj
[1] "C RJ" "nil" "C RV" "G RV" "nil"
$`1`$vb
[1] "C AA" "nil" "C AJ" "nil" "C AJ"
$`1`$rj
[1] "C JR" "G JR"
$`1`$rr
[1] "C BB"
$`1`$vr
[1] "C JA" "nil" "C RJ" "nil" "C RJ"
$`1`$bb
[1] "C BV"
$`1`$jr
[1] "nil" "C VB" "G VB" "nil" "C JA"
aggregate()
的答案相同以上,但每个
rle()
输出保持分开:
> unlist(res)
1.vv1 1.vv2 1.vv3 1.vv4 1.vv5 1.vv6 1.rv1 1.rv2 1.rv3 1.rv4 1.rv5
"C RR" "G RR" "nil" "C AA" "G AA" "nil" "nil" "C VB" "G VB" "nil" "C VB"
1.rv6 1.rv7 1.ja1 1.ja2 1.ja3 1.ja4 1.aa1 1.aa2 1.bv1 1.bv2 1.bv3
"G VB" "nil" "C VV" "nil" "C VV" "G VV" "C AJ" "nil" "nil" "C VR" "G VR"
1.aj1 1.aj2 1.aj3 1.aj4 1.aj5 1.vb1 1.vb2 1.vb3 1.vb4 1.vb5 1.rj1
"C RJ" "nil" "C RV" "G RV" "nil" "C AA" "nil" "C AJ" "nil" "C AJ" "C JR"
1.rj2 1.rr 1.vr1 1.vr2 1.vr3 1.vr4 1.vr5 1.bb 1.jr1 1.jr2 1.jr3
"G JR" "C BB" "C JA" "nil" "C RJ" "nil" "C RJ" "C BV" "nil" "C VB" "G VB"
1.jr4 1.jr5
"nil" "C JA"
> aggregate(fevents2[,3:14], list(weeks = fevents2[, 1]),
+ function(x) rle(as.character(x))$values)
weeks vv.1 vv.2 vv.3 vv.4 vv.5 vv.6 rv.1 rv.2 rv.3 rv.4 rv.5 rv.6 rv.7 ja.1
1 1 C RR G RR nil C AA G AA nil nil C VB G VB nil C VB G VB nil C VV
ja.2 ja.3 ja.4 aa.1 aa.2 bv.1 bv.2 bv.3 aj.1 aj.2 aj.3 aj.4 aj.5 vb.1 vb.2
1 nil C VV G VV C AJ nil nil C VR G VR C RJ nil C RV G RV nil C AA nil
vb.3 vb.4 vb.5 rj.1 rj.2 rr vr.1 vr.2 vr.3 vr.4 vr.5 bb jr.1 jr.2 jr.3
1 C AJ nil C AJ C JR G JR C BB C JA nil C RJ nil C RJ C BV nil C VB G VB
jr.4 jr.5
1 nil C JA
unlist(res))
会看是否超过一周。]
关于r - 为什么 rle 不接受一个因素作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311457/
The proper divisors of a positive integer, n, are all the positive integers that divide n evenly oth
我有这个命令行 $ sudo find /etc/grub.d | sort | tail -n 1 | xargs sudo cat | wc 我想用一个 sudo 命令执行 $ sudo --so
选项大小策略和拉伸(stretch)因子如何影响小部件的大小? 下图显示了三个不同排列的窗口的预览。对于所有三个窗口 (W1-W3),右侧的小部件是一个 QFrame 小部件,其水平和垂直大小策略设置
每次当我必须重新编码一组变量时,我都会想到 SPSS 重新编码功能。我必须承认这很简单。有一个类似的recode函数在 car包,它可以解决问题,但让我们假设我想用 factor 完成任务. 我有 d
这个问题在这里已经有了答案: Template issue causes linker error (C++) [duplicate] (6 个答案) 关闭 9 年前。 我的问题查了没用所以特地来问
我想使用 Eigen 来计算稀疏矩阵的 cholesky 分解。但是,结果不正确,我找不到原因。我如何获得正确答案? Eigen 中是否实现了特殊例程,利用稀疏矩阵的结构来提高性能(例如,对于下例中的
我正在尝试使 angularjs 应用程序在配置( http://12factor.net/config )方面符合 12 因素。 它应该取决于环境,我不应该看到 development 字样, te
我在我的项目中使用 Soil,我在我的包含目录中添加了 soil,在我的预编译头文件中我包含了“Soil.h”。对于我预编译头中的库,我添加了这个: #pragma comment(lib,"SOIL
在我的 Web 应用程序中,我将所有最终用户的日期信息以 UTC 格式存储在数据库中,在向他们显示之前,只需将 UTC 日期转换为他们选择的时区。 我正在使用此方法将本地时间转换为 UTC 时间(在存
我的申请是 Piwik Server从放置在数百个网站上的跟踪代码接收传入的跟踪数据。当这些跟踪请求进入时,大部分工作负载是每秒向数据库写入数百次。我使用的是带有 JDBC 和 Hibernate 的
我有一个非常简单的 GWT 应用程序,它收集一些数据并在用户单击“提交”时提供确认对话框。我创建了一个 com.google.gwt.user.client.ui.DialogBox,填充它,然后调用
我正在使用 Delphi(2009 年,没关系)和 IBX,并且我正在尝试执行简单的代码: TestSQL.ExecQuery; 在此代码之前,我已检查(也可以在调试器监视中看到)TestSQL.Tr
许多线性代数例程都将常量(例如 alpha 和 beta)作为参数。例如cublas?GEMM执行以下操作: C := alpha*op( A )op( B ) + betaC 假设我将 beta 设
我是一名优秀的程序员,十分优秀!