小编use*_*491的帖子

总结很多向量; 行或元素,但忽略NA值

我正在尝试创建一个新的向量,它是35个其他向量的总和.问题是有很多NA值,但对于这种特殊用途,我想将它们视为零.添加向量将不起作用,因为如果35个向量中的任何一个包含NA,则结果为NA.以下是问题的示例:

col1<-c(NA,1,2,3)
col2<-c(1,2,3,NA)
col3<-c(NA,NA,2,3)
Sum<-col1+col2+col3
Sum
# [1] NA NA  7 NA
Run Code Online (Sandbox Code Playgroud)

我希望结果为
1,3,7,6 .我想我可以创建每个向量的新版本,其中我用0替换NA,但是当应用于35个向量时,这将是很多工作.有一个简单的功能可以帮助我吗?

r sum vector na

18
推荐指数
2
解决办法
2万
查看次数

如何最好地处理 R 中的仅年份值

这是我关于 stackoverflow 的第一个问题,我是 R 新手程序员。我有一个数据框,其中“年份”列的值从 1985 年到 2012 年。默认情况下,这些值是从我的 csv 文件(这可能是我的第一个问题)中作为一个因素导入的。我想为日期大于 2008 年的所有行创建一个新的向量“现代”,其值为 1。换句话说,我想用“1”表示 2009-2012 年的所有数据。

这是我目前的解决方案:

yearnum<-as.Date(year,format="%Y")
Modern<-ifelse(yearnum>"2008-12-30",1,0)
Run Code Online (Sandbox Code Playgroud)

它有效,但我有一些问题。1. 我尝试使用该as.numeric函数,但不是给我一个像 2006 这样的值,而是从 1 开始按年份重新编号。这是为什么?2.因为我最终使用了该as.Date函数,所以R将月份和日期默认为今天的月份和日期。我可以通过只保留年份或至少记录 1/1/yyyy 来避免这种情况吗?

先感谢您。

r date

4
推荐指数
1
解决办法
5515
查看次数

子集数据会破坏GLM

我有一个正常工作的GLM Logit回归,但是当我向GLM命令添加一个子集参数时,我收到以下错误:

invalid type (list) for variable '(weights)'.
Run Code Online (Sandbox Code Playgroud)

因此,以下命令有效:

glm(formula = A ~ B + C,family = "binomial",data = Data)
Run Code Online (Sandbox Code Playgroud)

但是以下命令会产生错误:

glm(formula = A ~ B + C,family = "binomial",data = Data,subset(Data,D<10))
Run Code Online (Sandbox Code Playgroud)

(我意识到在没有看到我的数据的情况下可能很难回答这个问题,但是对于可能导致我的问题的任何一般性帮助将不胜感激)

binary r subset glm

2
推荐指数
1
解决办法
3979
查看次数

标签 统计

r ×3

binary ×1

date ×1

glm ×1

na ×1

subset ×1

sum ×1

vector ×1