- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据列表,有些行需要过滤。
我有一些标准来提取那些我称之为 crit
的行。对于每个限定数据的 crit
,我想获得数据的子集作为输出。
有时,有一组函数可以根据您设置的特定条件从更大的数据集中提取一组数据。
我认为最好的选择之一是 dplyr
。虽然,我看过一些 dplyr
包视频,它们主要集中在一些简单示例中的行排序和选择。
但是,有时我们需要能够动态地提取一组变化的标准。
因此,我需要专家考虑 dplyr
功能到我的 data.frame
。
这是我的数据的可重现示例
set.seed(1)
data.list <- lapply(1:3, function(x) {
nrep <- 3
time <- rep(seq(90,54000,length.out=12),times=nrep)
Mx <- c(replicate(nrep,sort(runif(12,-0.014,0.012),decreasing=TRUE)))
My <- c(replicate(nrep,sort(runif(12,-0.02,0.02),decreasing=TRUE)))
Mz <- c(replicate(nrep,sort(runif(12,-1,1),decreasing=TRUE)))
df <- data.frame(time,Mx,My,Mz,set_nbr=x)
})
data.list
内部,我想提取一些与条件匹配的唯一
groups
。
crit
输出。
> crit
time Mz set_nbr
1 24594.55 -0.04729751 1
2 29495.45 -0.50902297 1
3 24594.55 -0.04376393 1
4 39297.27 -0.22218980 2
5 24594.55 -0.36407263 2
6 34396.36 -0.38341534 2
7 19693.64 -0.34597255 3
8 14792.73 -0.01480776 3
9 29495.45 -0.00999671 3
Mz
data.list
中找到了负
group
值的第一个观察结果。这里
group
表示一组
time
列中 90:54000 之间的值。所以每个data.list[[1]] 3组,data.list[[2]] 3组data.list[[3]] 3组。
min
输出中找到 max
和 time
Mz
grouped_by set_nbr
的 crit
值。 min_time<- crit %>%
group_by(set_nbr) %>%
filter(time==min(time))
max_time<- crit %>%
group_by(set_nbr) %>%
filter(time==max(time))
data.list
中 groups
内的这些情况。 data.list[[2]]
内部,如果我们想提取
min
的
Mz
时间值,如
crit
输出中的结论
> data.list[[2]]
time Mx My Mz set_nbr
1 90.000 0.0113804381 0.0145817980 0.887449637 2
2 4990.909 0.0100259362 0.0098679308 0.772901887 2
3 9891.818 0.0050266053 0.0091723849 0.754115086 2
4 14792.727 0.0046047177 0.0045857989 0.516206105 2
5 19693.636 0.0026426272 0.0022863816 0.448997785 2
6 24594.545 0.0015677851 0.0000176389 0.423487735 2
7 29495.455 -0.0023966069 -0.0018747422 0.095293174 2
8 34396.364 -0.0027816840 -0.0018971667 0.006678971 2
9 39297.273 -0.0047251003 -0.0068489072 -0.222189800 2
10 44198.182 -0.0101464994 -0.0127653456 -0.412539690 2
11 49099.091 -0.0113172099 -0.0129949293 -0.617479780 2
12 54000.000 -0.0136599830 -0.0158004944 -0.621612755 2
13 90.000 0.0117878041 0.0158037641 0.854604177 2
14 4990.909 0.0056253446 0.0152247614 0.681014064 2
15 9891.818 0.0014885119 0.0111993956 0.565702674 2
16 14792.727 0.0009466772 0.0011852241 0.181146318 2
17 19693.636 -0.0007095856 -0.0021505871 0.033593673 2
18 24594.545 -0.0011145670 -0.0034750316 -0.364072631 2
19 29495.455 -0.0014069124 -0.0065805003 -0.433534999 2
20 34396.364 -0.0021987173 -0.0086083808 -0.462098816 2
21 39297.273 -0.0080548883 -0.0088897627 -0.464983585 2
22 44198.182 -0.0086038271 -0.0114920192 -0.562709430 2
23 49099.091 -0.0094904993 -0.0169889702 -0.779278790 2
24 54000.000 -0.0119963261 -0.0174476608 -0.798253748 2
25 90.000 0.0116124758 0.0161232645 0.922819873 2
26 4990.909 0.0101439952 0.0158178170 0.895932709 2
27 9891.818 0.0037524900 0.0142452666 0.637269377 2
28 14792.727 0.0027126828 0.0136245822 0.526445379 2
29 19693.636 0.0016400717 0.0096431459 0.435870552 2
30 24594.545 0.0015504030 0.0089490379 0.125565872 2
31 29495.455 0.0005834194 0.0057726305 0.037152275 2
32 34396.364 -0.0003232792 0.0052165649 -0.383415339 2
33 39297.273 -0.0008013126 0.0042121379 -0.487264792 2
34 44198.182 -0.0072876859 -0.0043456288 -0.637663345 2
35 49099.091 -0.0077894144 -0.0047802446 -0.741686291 2
36 54000.000 -0.0130759449 -0.0064953867 -0.799718307 2
> min_setnbr 2
13 90.000 0.0117878041 0.0158037641 0.854604177 2
14 4990.909 0.0056253446 0.0152247614 0.681014064 2
15 9891.818 0.0014885119 0.0111993956 0.565702674 2
16 14792.727 0.0009466772 0.0011852241 0.181146318 2
17 19693.636 -0.0007095856 -0.0021505871 0.033593673 2
18 24594.545 -0.0011145670 -0.0034750316 -0.364072631 2
19 29495.455 -0.0014069124 -0.0065805003 -0.433534999 2
20 34396.364 -0.0021987173 -0.0086083808 -0.462098816 2
21 39297.273 -0.0080548883 -0.0088897627 -0.464983585 2
22 44198.182 -0.0086038271 -0.0114920192 -0.562709430 2
23 49099.091 -0.0094904993 -0.0169889702 -0.779278790 2
24 54000.000 -0.0119963261 -0.0174476608 -0.798253748 2
res
输出与排序
set_nbr=1
group_min
->
group_max
,
set_nbr=2
group_min
->
group_max
..... 等等
time Mx My Mz set_nbr group_min
##1 90.000 0.0105615570 0.0128378518 0.92123599 1 1
##2 4990.909 0.0096134025 0.0117695944 0.78439667 1 1
##3 9891.818 0.0093581318 0.0115742493 0.72867894 1 1
##4 14792.727 0.0031807426 0.0113173105 0.55464140 1 1
##5 19693.636 0.0023569651 0.0089484378 0.42502936 1 1
##6 24594.545 0.0008941874 0.0058824078 -0.04729751 1 1
##7 29495.455 -0.0043247786 0.0021214525 -0.13068103 1 1
##8 34396.364 -0.0070967748 0.0011887832 -0.20001126 1 1
##9 39297.273 -0.0086446611 -0.0009107974 -0.22002091 1 1
##10 44198.182 -0.0087562698 -0.0035490228 -0.30663302 1 1
##11 49099.091 -0.0094095244 -0.0156822550 -0.33245014 1 1
##12 54000.000 -0.0123935570 -0.0190667519 -0.34929570 1 1
time Mx My Mz set_nbr group_max
##13 90.000 0.0105615570 0.0128378518 0.92123599 1 3
##14 4990.909 0.0096134025 0.0117695944 0.78439667 1 3
##15 9891.818 0.0093581318 0.0115742493 0.72867894 1 3
##16 14792.727 0.0031807426 0.0113173105 0.55464140 1 3
##17 19693.636 0.0023569651 0.0089484378 0.42502936 1 3
##18 24594.545 0.0008941874 0.0058824078 0.04729751 1 3
##19 29495.455 -0.0043247786 0.0021214525 0.13068103 1 3
##20 34396.364 -0.0070967748 0.0011887832 -0.20001126 1 3
##21 39297.273 -0.0086446611 -0.0009107974 -0.22002091 1 3
##22 44198.182 -0.0087562698 -0.0035490228 -0.30663302 1 3
##23 49099.091 -0.0094095244 -0.0156822550 -0.33245014 1 3
##24 54000.000 -0.0123935570 -0.0190667519 -0.34929570 1 3
> set_nbr 2 group_min
group_max
> set_nbr 3 group_min
group_max
..
Rows <- x[ceiling(x$Mz-y$Mz)==0,]
最佳答案
尝试
lst <- lapply(data.list, function(x) {
x$group <- cumsum(x$time==90)
x})
lst1 <- split(as.data.frame(min_time), min_time$set_nbr)
res <- Map(function(x, y) {
val <- mean(y$Mz)
Rows <- x[ceiling(x$time-y$time)==0,]
val1 <- Rows$Mz-val
subset(x, group==Rows$group[which.min(val1)])},
lst, lst1)
关于r - 提取按条件过滤的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30806825/
如标题所示,ans_list是一个答案列表,ans_index是一个数字(答案在词汇表中的索引,但与atm无关) 这里生成的 tree.anslist 是什么? (例如,仅针对第一个),忽略迭代。 f
我目前将用户的输入存储在逗号分隔的列表中,如下所示: Userid | Options 1 | 1,2,5 用户在一个数组形式中勾选一组选项,然后用逗号连接起来 1,2,5 然后 MySQ
我目前将用户的输入存储在逗号分隔的列表中,如下所示: Userid | Options 1 | 1,2,5 用户在一个数组形式中勾选一组选项,然后用逗号连接起来 1,2,5 然后 MySQ
我想知道如何完全展平列表和包含它们的东西。除其他外,我想出了一个解决方案,它可以将具有多个元素的东西滑倒并将它们放回原处,或者在滑倒后将具有一个元素的东西拿走。 这与 How do I “flatte
我想知道如何完全展平列表和包含它们的东西。除其他外,我想出了一个解决方案,它可以将具有多个元素的东西滑倒并将它们放回原处,或者在滑倒后将带有一个元素的东西拿走。 这与 How do I “flatte
这个问题已经有答案了: Convert nested list to 2d array (3 个回答) 已关闭 7 年前。 java中有没有快捷方式可以转换 List> 到 String[][] ?
我在排序时遇到问题 List> 。我创建了一个自定义比较器,在其中编写了对数据进行排序的代码。 public class CustomComparator implements Comparator
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Java Generics: Cannot cast List to List? 我只是想知道为什么下面的java代
试图想出一个 LINQy 方法来做到这一点,但我什么也没想到。 我有一个对象列表<>,其中包含一个属性,该属性是逗号分隔的字母代码列表: lst[0].codes = "AA,BB,DD" lst[1
假设我有这些任务: points = [] point = (1, 2) 我怎么会这样做: points += point 它工作得很好,并且给了我点 = [1, 2]。但是,如果我这样做: poin
如何在 scala 中将 List[Task[List[Header]]] 类型转换为 Task[List[Header]]。 我有一个方法返回 Task[List[Header]] 并多次调用 do
如何在 Java 中查找二维列表的元素? 我有一个参数为 List> 的函数我想知道如何找到这个列表的行和列。 最佳答案 如果你喜欢 List> obj 然后你就可以像这样访问 obj.get(cur
分配 List到 List工作正常。 分配 List>到 List>不编译。 代码 public class Main { public static void main(String[] a
我正在用 Java 编写一个方法,该方法必须接收并迭代 Serializable 的 List。 有什么区别: public void myMethod(List list) { } 和 public
我看到很多人想用 mvvm 更新网格/列表/树的一部分,但他们不想刷新整个列表。 对于所有遇到此问题的人,我做了以下示例。 希望这对你有用。 最佳答案 这是一个简单的例子。整个代码中最重要的是: Bi
我正在为现有的 C++ 库编写包装器,该库使用列表,其中 T 是自定义结构。我被建议使用 vector 而不是列表,但我试图避免修改库。 为了更好地理解这个场景,我做了一个简单的应用程序,使用一个列表
List list List list 这两种声明有什么区别吗? 谢谢, 最佳答案 是的。 List可以包含所有派生自 Base 的不同事物的混合物. List包含同质项(从某种意义上说,它们必须全部
有人可以尽可能详细地解释以下类型之间的区别吗? List List List 让我更具体一点。我什么时候想使用 // 1 public void CanYouGiveMeAnAnswer(List l
我有一个元组列表,每个元组都是一对列表。所以我的数据看起来像: mylist = [(['foo', 'bar'], ['bar', 'bar']),(['bar', 'bar'],['bar', '
也许是一个时髦的标题,但我遇到了以下问题: 给定一个类型为 (a * b) list 的列表,我想创建一个类型为 (a * b list) list 的新列表。一个例子: 给定列表 let testL
我是一名优秀的程序员,十分优秀!