是否有可能操纵已经分为多个子集的数据集的列?问题在于,如果将代码应用于其他功能,则看起来毫无用处。
> df <- split(d08,d08$kraj_zn)
> df$BA$min <- min(df$BA$EQ_INC20)
> df$TT$min <- min(df$TT$EQ_INC20)
> df$TN$min <- min(df$TN$EQ_INC20)
> df$NR$min <- min(df$NR$EQ_INC20)
> df$BB$min <- min(df$BB$EQ_INC20)
> df$ZA$min <- min(df$ZA$EQ_INC20)
> df$KE$min <- min(df$KE$EQ_INC20)
> df$PO$min <- min(df$PO$EQ_INC20)
编辑:
我想做的是从某种程度上操纵df$min
:
> . ROK . . . kraj_zn min
> 1 2008 . . . BA -100
> 101 2008 . . . TT -100
> 201 2008 . . . TN -100
> 301 2008 . . . NR -100
> 401 2008 . . . BB -100
对此:
> . ROK . . . kraj_zn min
> 1 2008 . . . BA -399
> 101 2008 . . . TT -120
> 201 2008 . . . TN -1
> 301 2008 . . . NR -25
> 401 2008 . . . BB -67
因此df$min
的值将代表基于df$kraj_zn
的最小值。
答案 0 :(得分:2)
您可以按以下方式使用lapply
和transform
:
lapply(df, transform, min=min(Q_INC20))
答案 1 :(得分:0)
dplyr 非常适合此类按组操作。您没有提供完全可复制的示例,但是与您的代码等效的示例可能是:
library(dplyr)
df <- d08 %>%
group_by(kraj_zn) %>%
summarize(min = min(EQ_INC20))