Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为特殊情况在R中编写for循环_R_Loops_For Loop - Fatal编程技术网

为特殊情况在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还是类似的?