Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 列组中最小值的返回值_R - Fatal编程技术网

R 列组中最小值的返回值

R 列组中最小值的返回值,r,R,我有一组列,我需要一个新列min123,其中包含这些列的最小值123a_1到123a_5 dff <- structure(list(`MCI ID` = c("070405344", "230349820", "260386435","370390587", "380406805", "391169282", "440377986", "750391394","890373764", "910367024"), `123a_1` = stru

我有一组列,我需要一个新列
min123
,其中包含这些列的最小值
123a_1
123a_5

dff <- structure(list(`MCI ID` = c("070405344", "230349820", "260386435","370390587", "380406805", "391169282", "440377986", "750391394","890373764", "910367024"), 
                      `123a_1` = structure(c(16672, 16372,16730, 16688, 16700, 16783, 16709, 17033, 16786, 16675), class = "Date"),
                      `123a_2` = structure(c(17029, 16422, 17088, 17036, 17057,17140, 17072, 17043, 17141, 17038), class = "Date"), 
                      `123a_3` = structure(c(NA_real_,NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,NA_real_, NA_real_, NA_real_), class = "Date"), 
                      `123a_4` = structure(c(NA_real_,NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,NA_real_, NA_real_, NA_real_), class = "Date"), 
                      `123a_5` = structure(c(NA_real_,NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,NA_real_, NA_real_, NA_real_), class = "Date")), 
         .Names = c("MCI ID","123a_1", "123a_2", "123a_3", "123a_4", "123a_5"), row.names = c(NA,10L), class = "data.frame") 

dff这就是函数
pmin
的作用:

> str(dff)
'data.frame':   10 obs. of  6 variables:
 $ MCI ID: chr  "070405344" "230349820" "260386435" "370390587" ...
 $ 123a_1: Date, format: "2015-08-25" "2014-10-29" "2015-10-22" ...
 $ 123a_2: Date, format: "2016-08-16" "2014-12-18" "2016-10-14" ...
 $ 123a_3: Date, format: NA NA NA ...
 $ 123a_4: Date, format: NA NA NA ...
 $ 123a_5: Date, format: NA NA NA ...
> dff$groupmin <- pmin(dff[[2]],dff[[3]],dff[[4]], dff[[5]], dff[[6]], na.rm=TRUE)
> head(dff)
     MCI ID     123a_1     123a_2 123a_3 123a_4 123a_5   groupmin
1 070405344 2015-08-25 2016-08-16   <NA>   <NA>   <NA> 2015-08-25
2 230349820 2014-10-29 2014-12-18   <NA>   <NA>   <NA> 2014-10-29
3 260386435 2015-10-22 2016-10-14   <NA>   <NA>   <NA> 2015-10-22
4 370390587 2015-09-10 2016-08-23   <NA>   <NA>   <NA> 2015-09-10
5 380406805 2015-09-22 2016-09-13   <NA>   <NA>   <NA> 2015-09-22
6 391169282 2015-12-14 2016-12-05   <NA>   <NA>   <NA> 2015-12-14
str(dff) “data.frame”:10个obs。共有6个变量: $MCI ID:chr“070405344”“230349820”“260386435”“370390587”。。。 $123a_1:日期、格式:“2015-08-25”“2014-10-29”“2015-10-22”。。。 $123a_2:日期、格式:“2016-08-16”“2014-12-18”“2016-10-14”。。。 $123a_3:日期,格式:不适用。。。 $123a_4:日期,格式:不适用。。。 $123a_5:日期,格式:不适用。。。 >dff$groupmin头(dff) MCI ID 123a_1 123a_2 123a_3 123a_4 123a_5组分钟 1 070405344 2015-08-25 2016-08-16 2015-08-25 2 230349820 2014-10-29 2014-12-18 2014-10-29 3 260386435 2015-10-22 2016-10-14 2015-10-22 4 370390587 2015-09-10 2016-08-23 2015-09-10 5 380406805 2015-09-22 2016-09-13 2015-09-22 6 391169282 2015-12-14 2016-12-05 2015-12-14
这就是函数
pmin
的作用:

> str(dff)
'data.frame':   10 obs. of  6 variables:
 $ MCI ID: chr  "070405344" "230349820" "260386435" "370390587" ...
 $ 123a_1: Date, format: "2015-08-25" "2014-10-29" "2015-10-22" ...
 $ 123a_2: Date, format: "2016-08-16" "2014-12-18" "2016-10-14" ...
 $ 123a_3: Date, format: NA NA NA ...
 $ 123a_4: Date, format: NA NA NA ...
 $ 123a_5: Date, format: NA NA NA ...
> dff$groupmin <- pmin(dff[[2]],dff[[3]],dff[[4]], dff[[5]], dff[[6]], na.rm=TRUE)
> head(dff)
     MCI ID     123a_1     123a_2 123a_3 123a_4 123a_5   groupmin
1 070405344 2015-08-25 2016-08-16   <NA>   <NA>   <NA> 2015-08-25
2 230349820 2014-10-29 2014-12-18   <NA>   <NA>   <NA> 2014-10-29
3 260386435 2015-10-22 2016-10-14   <NA>   <NA>   <NA> 2015-10-22
4 370390587 2015-09-10 2016-08-23   <NA>   <NA>   <NA> 2015-09-10
5 380406805 2015-09-22 2016-09-13   <NA>   <NA>   <NA> 2015-09-22
6 391169282 2015-12-14 2016-12-05   <NA>   <NA>   <NA> 2015-12-14
str(dff) “data.frame”:10个obs。共有6个变量: $MCI ID:chr“070405344”“230349820”“260386435”“370390587”。。。 $123a_1:日期、格式:“2015-08-25”“2014-10-29”“2015-10-22”。。。 $123a_2:日期、格式:“2016-08-16”“2014-12-18”“2016-10-14”。。。 $123a_3:日期,格式:不适用。。。 $123a_4:日期,格式:不适用。。。 $123a_5:日期,格式:不适用。。。 >dff$groupmin头(dff) MCI ID 123a_1 123a_2 123a_3 123a_4 123a_5组分钟 1 070405344 2015-08-25 2016-08-16 2015-08-25 2 230349820 2014-10-29 2014-12-18 2014-10-29 3 260386435 2015-10-22 2016-10-14 2015-10-22 4 370390587 2015-09-10 2016-08-23 2015-09-10 5 380406805 2015-09-22 2016-09-13 2015-09-22 6 391169282 2015-12-14 2016-12-05 2015-12-14
使用
do.call
pmin
的基本R方法:

dff$min123 <- do.call(pmin, c(dff[-1], na.rm = TRUE))
数据。表

library(data.table)
setDT(dff)[, min123 := do.call(pmin, c(.SD, na.rm = TRUE)), .SDcols = -1]

使用
do.call
pmin
的基本R方法:

dff$min123 <- do.call(pmin, c(dff[-1], na.rm = TRUE))
数据。表

library(data.table)
setDT(dff)[, min123 := do.call(pmin, c(.SD, na.rm = TRUE)), .SDcols = -1]

哈…我只是在
do.call
:)中搜索如何通过
na.rm
)哈…我只是在
do.call
:)中搜索如何通过
na.rm
)这与
dplyr
solution@Sotos对于一个正在为如此简单的问题而挣扎的人,我给出了一个简单的答案。通过管道使用非标准库和非标准语法所带来的额外复杂性似乎不利于证明另一个答案的合理性。这并不重要,因为Jaap有迄今为止最好的答案:标准R和简洁!(我投了赞成票)好的。如果你认为它有价值,那就毫无疑问。@Sotos是的,我认为教人们如何用标准R做事是有价值的。我的帖子在Jaap的帖子和“已经有答案”链接后都没有价值了。好的。没问题。这取决于你。我只是想澄清一下,这与dplyr的
dplyr
solution@Sotos对于一个正在为如此简单的问题而挣扎的人,我给出了一个简单的答案。通过管道使用非标准库和非标准语法所带来的额外复杂性似乎不利于证明另一个答案的合理性。这并不重要,因为Jaap有迄今为止最好的答案:标准R和简洁!(我投了赞成票)好的。如果你认为它有价值,那就毫无疑问。@Sotos是的,我认为教人们如何用标准R做事是有价值的。我的帖子在Jaap的帖子和“已经有答案”链接后都没有价值了。好的。没问题。这取决于你。我只是想澄清一下,它工作得很好,其次,有没有办法返回下一个最小值?这很好,其次,有没有办法返回下一个最小值?