小编Mr_*_*r_J的帖子

从dplyr使用mutate_each函数时选择特定列

我有数据框,第一列作为分类标识符,第二列作为频率值,其余列作为原始数据计数.我想将所有计数列乘以频率列而不是前两列.

所有原始计数列都以大写字母开头,然后是句号,例如"L.abd",T.xyz等.

例如,如果我使用代码:

    require(dplyr)
    ID <- c(1,2,3,4,5,6)
    Freq <- c(0.1,0.2,0.3,0.5,0.1,0.3)
    L.abc <- c(1,1,1,3,1,0)
    L.ABC <- c(0,3,2,4,1,1)
    T.xyz <- c(1,1,1,1,0,1)
    F.ABC <- c(4,5,6,5,3,1)

    df <- as.data.frame(cbind(ID, Freq, L.abc, L.ABC, T.xyz, F.ABC))

    df_new <- df %>% mutate_each(funs(.*Freq), starts_with("L."))        
Run Code Online (Sandbox Code Playgroud)

我可以创建一个包含分类数据列的新数据框以及以"L"开头的列.已乘以相应的频率值.

有没有办法更改"starts_with"命令以选择以大写字母和句号开头的所有列?我尝试使用诸如"[AZ]"之类的修改来约会.没有成功.

提前致谢

r dplyr

5
推荐指数
1
解决办法
4766
查看次数

标签 统计

dplyr ×1

r ×1