为特殊情况在R中编写for循环
如果某些数据帧包含以下值:为特殊情况在R中编写for循环,r,loops,for-loop,R,Loops,For Loop,如果某些数据帧包含以下值: a 1 5 7 9 数据帧b需要从数据帧a中提取,就像 If a is less than equals to 10 than b is 1:10 If a is less than equals to 14 than b is 11:14 If a is less than equals to 29 than b is 15:29 结果应该像这样反映出来 b 1 2 3 4 5 6 7 8 9 10 任何潜在客户都将不胜感激我们可以试一试 f1 <- f
a
1
5
7
9
数据帧b需要从数据帧a中提取,就像
If a is less than equals to 10 than b is 1:10
If a is less than equals to 14 than b is 11:14
If a is less than equals to 29 than b is 15:29
结果应该像这样反映出来
b
1
2
3
4
5
6
7
8
9
10
任何潜在客户都将不胜感激我们可以试一试
f1 <- function(x){
v1 <- max(x)
v2 <- if(v1 < 10) 1:10 else if(v1 < 14) 11:14 else 15:29
data.frame(b = v2)
}
f1(df1$a)
# b
#1 1
#2 2
#3 3
#4 4
#5 5
#6 6
#7 7
#8 8
#9 9
#10 10
我们可以试试
f1 <- function(x){
v1 <- max(x)
v2 <- if(v1 < 10) 1:10 else if(v1 < 14) 11:14 else 15:29
data.frame(b = v2)
}
f1(df1$a)
# b
#1 1
#2 2
#3 3
#4 4
#5 5
#6 6
#7 7
#8 8
#9 9
#10 10
您是否希望a的所有值都小于10,那么b=1:10;如果a的所有值都小于14,那么b=11:14;如果a的所有值都小于29,那么b=15:29:请检查下面的代码以了解详细信息
df <- data.frame(a = c(1,5,7,9))
if (sum(df$a < 10) == nrow(df)) {
b = data.frame(1:10)
} else if (sum(df$a < 14) == nrow(df)) {
b = data.frame(11:14)
} else if (sum(df$a < 29) == nrow(df)) {
b = data.frame(15:29)
}
希望这能对您有所帮助,否则请告诉我您的确切要求。您是否希望a的所有值都小于10,那么b=1:10,如果a的所有值都小于14,那么b=11:14,如果a的所有值都小于29,那么b=15:29:请检查下面的代码以了解详细信息
df <- data.frame(a = c(1,5,7,9))
if (sum(df$a < 10) == nrow(df)) {
b = data.frame(1:10)
} else if (sum(df$a < 14) == nrow(df)) {
b = data.frame(11:14)
} else if (sum(df$a < 29) == nrow(df)) {
b = data.frame(15:29)
}
希望这能对您有所帮助,否则请告诉我您的确切要求。条件尚不清楚。您能提供您想要的输出吗?我有一列数字,需要一个像查询中所示的b dataframe这样的输出。如果a小于或等于44640,那么像1:44640那样反映b你不需要展示一个大的例子,只需要展示一个小的例子来表达你想要的。你只需要cuta$变量,breaks=C14464086400131040,include.lowest=TRUE或类似值?条件不清楚。您能提供您想要的输出吗?我有一列数字,我需要一个像查询中所示的b dataframe这样的输出。如果a小于或等于44640,那么像1:44640那样反映b你不需要展示一个大的例子,只需要展示一个小的例子来表达你想要的。你只需要cuta$变量,breaks=C14464086400131040,include.lower=TRUE还是类似的?