R 如何生成只对数值列求和的列?
我有一个包含很多列的数据框架R 如何生成只对数值列求和的列?,r,R,我有一个包含很多列的数据框架 LABEL COL1 COL2 COL3 Meat 10 20 30 Veggies 20 30 40 如何使名为SUMCOL的列加起来COL1、COL2、COL3,以及我添加的任何其他数字列 仅包含上述列的SUMCOL示例: SUMCOL 60 90 您可以使用此函数,它利用了select\u if和作用域参数为数值 myfun <- function(df) { require(
LABEL COL1 COL2 COL3
Meat 10 20 30
Veggies 20 30 40
如何使名为SUMCOL
的列加起来COL1
、COL2
、COL3
,以及我添加的任何其他数字列
仅包含上述列的SUMCOL
示例:
SUMCOL
60
90
您可以使用此函数,它利用了
select\u if
和作用域参数为数值
myfun <- function(df) {
require(dplyr)
y <- select_if(df, is_numeric)
rowSums(y, na.rm=T)
}
我最终使用了以下代码:
df$SUMCOLdat$SUMCOLdf$SUMCOL我最终使用了dat$SUMCOL@Username,也许你想把它作为解决方案发布并接受答案(注意它来自lmo
)。或者如果lmo
可以作为一个更好的答案发布。我正在等待@Imo发布,但我可以。如果不是基本的R函数,请选择\u。。。也不是数字的
。如果您正在构建一个需要软件包的函数,那么在函数中包含库调用会更方便,可能是使用require
。require
和library
之间有什么区别吗?@ChiPak是的,请浏览已接受的答案。同时查看其他程序包。require
将正常失败,如果找不到程序包,则打印警告,而library
将抛出错误。请尝试使用library(blah)
,然后使用require(blah)
作为示例。从?require
require是为在其他功能中使用而设计的
df$SUMCOL <- myfun(df)
LABEL COL1 COL2 COL3 SUMCOL
1 Meat 10 20 30 60
2 Veggies 20 30 40 90