gpt4 book ai didi

r - 有没有办法使用 rowSums 和 is.numeric 只对数字列求和?

转载 作者:行者123 更新时间:2023-12-04 00:19:22 27 4
gpt4 key购买 nike

一个快速的问题,希望能得到快速的回答。

我试图仅在具有数字数据的列上使用 rowSums。我想做一些与此等效的事情(使用内置数据集 CO2 作为可重复示例):

# Reproducible example  
CO2 %>%
mutate( Total = rowSums(.[c(-1, -2, -3)]) ) %>%
head()

Plant Type Treatment conc uptake Total
1 Qn1 Quebec nonchilled 95 16.0 111.0
2 Qn1 Quebec nonchilled 175 30.4 205.4
3 Qn1 Quebec nonchilled 250 34.8 284.8
4 Qn1 Quebec nonchilled 350 37.2 387.2
5 Qn1 Quebec nonchilled 500 35.3 535.3
6 Qn1 Quebec nonchilled 675 39.2 714.2

我用 mutate 和 is.numeric 尝试了 rowSums,但没有成功。是否有捷径可寻?
# How do sum rows using is.numeric (below does not work)?                 
CO2 %>%
mutate( Total = rowSums(., is.numeric(.)) )

最佳答案

我们可以使用 select_ifrowSums

library(dplyr)
CO2 %>%
mutate(Total = rowSums(select_if(., is.numeric), na.rm = TRUE)) %>%
head
# Plant Type Treatment conc uptake Total
#1 Qn1 Quebec nonchilled 95 16.0 111.0
#2 Qn1 Quebec nonchilled 175 30.4 205.4
#3 Qn1 Quebec nonchilled 250 34.8 284.8
#4 Qn1 Quebec nonchilled 350 37.2 387.2
#5 Qn1 Quebec nonchilled 500 35.3 535.3
#6 Qn1 Quebec nonchilled 675 39.2 714.2

关于r - 有没有办法使用 rowSums 和 is.numeric 只对数字列求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61786334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com