- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了关于“下标越界”的问题,我想要的是获得每个观察值的第一个和最后一个月,其中我有三个连续的“1”或“True”。我想创建 2 个新列“开始”和“结束”,分别是第一个月和最后一个月。在我的第一个观察示例中:开始等于 avril,结束等于 juin在第 5 个观察中:开始等于 fevrier,结束等于 avril在第 9 个观察中:开始等于 janvier,结束等于 mars...
我试着这样做:
nom <- letters[1:5]
pseudo <- paste(name, 21:25, sep = "")
janvier <- c(0, 1, 1, 1, 0)
fevrier <- c(1, 1, 1, 1, 1)
mars <- c(0, 0, 0, 1, 1)
avril <- c(1, 1, 1, 0, 1)
mai <- c(1, 0, 1, 1, 1)
juin <- c(1, 1, 0, 1, 0)
df <- data.frame(nom =nom, pseudo = pseudo, janvier = janvier,
fevrier = fevrier, mars = mars, avril = avril,
mai = mai, juin = juin)
dfm <- as.matrix(df[, -c(1, 2)])
my_matrix <- matrix(nrow = 10, ncol = 6)
for(i in 1:dim(dfm)[1]){
for(j in 1:dim(dfm)[2]){
if(dfm[i, j] + dfm[i, j+1] + dfm[i, j+2] == 3){
my_matrix[i, j] <- "periode_ok"
my_matrix[i, j+1] <- "periode_ok"
my_matrix[i, j+2] <- "periode_ok"
}
}
}
输出应该是这样的:
begin <- c("avril", "no info", "no info",
"janvier", "fevrier", "avril", "no info",
"no info", "janvier", "fevrier")
end <- c("juin", "no info", "no info", "mars",
"avril", "juin", "no info", "no info",
"mars", "avril")
output <- data.frame(nom =nom, pseudo = pseudo, janvier = janvier,
fevrier = fevrier, mars = mars, avril = avril,
mai = mai, juin = juin, begin = begin,end = end)
我们将不胜感激
最佳答案
首先,像 1:dim(dfm)[1]
这样的结构是危险的,因为如果 dim(dfm)[1]
为零,你将得到完美的有效向量 1:0
并且循环将尝试寻址向量的元素零,在本例中为矩阵。这是非法的,会引发错误。推荐的解决方案是使用 seq_len(...)
。其次,我使用了 nrow
和 ncol
而不是 dim(dfm)[.]
。现在你得到的错误。您正在尝试处理 j + 1
和 j + 2
列,因此当 j
达到 ncol(dfm)
你的债券用完了。下面的代码删除了循环限制的最后两个元素。
n <- ncol(dfm)
for(i in seq_len(nrow(dfm))){
for(j in seq_len(n)[-c(n - 1, n)]){
if(dfm[i, j] + dfm[i, j+1] + dfm[i, j+2] == 3){
my_matrix[i, j] <- "periode_ok"
my_matrix[i, j+1] <- "periode_ok"
my_matrix[i, j+2] <- "periode_ok"
}
}
}
my_matrix
关于r - 带双循环的条件和行列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932246/
我有一个关于在 R 中执行双循环的明显问题,但无法在此网站上找到答案。我正在使用以下代码: mu <- c(0, .2, .5, .8) sco <- matrix(nrow = 50, ncol =
是否有可能循环 2 列表与另一个大小最小的列表“重新循环”? 例子: list = [1,2,3,4,5,6,7,8,10] list2 = [a,b] newlist = [] for numb
我有一个这样的对象 objs: - { key1: value1, key2: [value2, value3] } - { key1: value4, key2: [value5,
我正在处理一个目录,其中一些列表具有与其关联的图像,而其他列表则没有。我想知道如何在循环中编写循环来获取结果。 例如,用户选择他们想要结果的州,查询将转到数据库,请求该州的所有列表。 Sorry, t
我在 2 个 for 循环中有复选框。我想强制它们表现得像单选按钮一样。每个 Q(第一个循环)只能选择一个选项。我有一个和平的代码,但它不起作用。如何更改? script type="text/jav
我遵循了 this post 的答案,但是,这似乎对我不起作用。我有一个第一个二维数组,我想在每个外循环之间超时,而不是在外循环中超时。 这是 this Fiddle 的片段显示我尝试过的三种方法之一
我使用最小编辑距离算法来查找相似的字符串。 我的代码主题是在输入数据中找到爱好最接近的夫妇。 Hobby type A B C D E F G H I J K L M N O P Q R S T U
我正在尝试优化用于计算两个方阵元素的乘积的双和的代码。假设我们有两个大小为 n、W 和 V 的方阵。需要计算的对象是一个带有元素的向量B 简单来说:计算两个不同矩阵中两个不同行的逐元素乘积并求它们的和
我是一名优秀的程序员,十分优秀!