小编lmo*_*lmo的帖子

NA中的NA替换功能

我正在尝试用矩阵替换NA - mat- 用零.我正在使用mat[is.na(mat)] <- 0.当我有8945个变量或更小变量的94531观测矩阵时效果很好但我在112039个22752个变量的观测矩阵上尝试它,R表示错误:

if(!nreplace)返回错误(x):缺少值需要TRUE/FALSE
另外:警告消息:
总和(i,na.rm = TRUE):整数溢出 - 使用sum(as.numeric(.))

我不知道我做错了什么,我不明白错误.

这是我的数据结构的一个例子.

small data.matrix :(由真实数据源制作)

> str(mat)
Classes 'data.table' and 'data.frame':  94531 obs. of  18946 variables:
 $ 6316506: num  1 0 NA NA NA NA NA NA NA NA ...
 $ 6794602: num  0 1 NA NA NA NA NA 0 0 0 ...
 $ 1008667: num  NA NA 0 1 0 NA NA 0 0 0 ...
 $ 6312454: num  NA NA 1 …
Run Code Online (Sandbox Code Playgroud)

r matrix data.table

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

日期向量的分位数函数

我注意到基本的R quantile函数不支持日期参数。

我赞赏为日期定义分位数需要在定义中加以注意(即,如果您有6个日期并要求第25个百分位数,则需要定义合适的舍入)。

是否有这种分位数功能的有效实现,可以作为基础或其他程序包的一部分。

以下示例函数实质上实现了我感兴趣的功能(通过一些调整来处理第0个百分位数的情况),但是我认为可以实现更有效的实现。

#Date quantile function.
dquantile <- function(x, probs){

  sx <- sort(x)

  pos <- round( probs * length(x) )

  return( sx[pos] )
}

# Example.
dates <- as.Date("01/01/1900", "%d/%m/%Y") + floor( 36500 * runif(100000) )

dquantile(dates, c(0.001, 0.025, 0.975, 0.999) )
Run Code Online (Sandbox Code Playgroud)

sorting r date

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

如何在观察的时间序列上绘制拟合模型

这是一个非常简单的问题,我似乎完全无法得到解决方案.我想在R中做一个观察到的时间序列的散点图,在此我想绘制拟合的模型.

所以我试着这样的:

model <- lm(x~y+z)
plot(x)
lines(fitted(model))
Run Code Online (Sandbox Code Playgroud)

但这只是用线条绘制x.

谢谢

plot r

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

重塑数据从宽到长?

如何重塑这些广泛的数据:(来自csv文件)

Name    Code    Indicator     1960    1961    1962  
Run Code Online (Sandbox Code Playgroud)

进入这种长格式?

Name    Code    Indicator     Year
Run Code Online (Sandbox Code Playgroud)

r

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

将lmer输出转换为word/excel

我正在工作R,有一个名为的包lme4.

执行模型:

lmer.rasch <- lmer(Response ~ item -1 + (1|STIDSTD),family=binomial, data=exampledata)
Run Code Online (Sandbox Code Playgroud)

让我在控制台输出,如帖子末尾所示.我想复制这个,似乎是一个表,excel,或最终说,识别单独的列和行.Ctrl-C/Ctrl-V到excel会识别行,但不识别列.

使用write.csv(lmer.rasch)给出错误:

as.data.frame.default(x [[i]],optional = TRUE)中的错误:无法将类的结构("mer",package ="lme4")强制转换为data.frame

这是包中的问题,还是我错误地使用write函数的一般问题,或者R实际上没有将此输出分成列?

    Fixed effects:
                        Estimate Std. Error z value Pr(>|z|)    
    variableamoeba       -2.7529     0.3000  -9.175  < 2e-16 ***
    variablebacterium    -2.3937     0.2244 -10.668  < 2e-16 ***
    variableleech         0.5578     0.1693   3.294 0.000987 ***
    variablecentipede     1.7012     0.1909   8.911  < 2e-16 ***
    variablelizard       -4.1836     0.4090 -10.229  < 2e-16 ***
    variabletapeworm     -1.3697     0.1841  -7.439 1.01e-13 ***
    variablehead lice     1.1803     0.1777   6.643 3.07e-11 *** …
Run Code Online (Sandbox Code Playgroud)

r lme4

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

行名称为一组数字

我想将行名称从 abcde 更改为 12345 例如我想转换:

     Var.1 Var.2 Var.3
 A     1     5     0
 B     2     4     1
 C     3     3     2
 D     4     2     3
 E     5     1     4
Run Code Online (Sandbox Code Playgroud)

进入

       names Var.1 Var.2 Var.3
  1     A     1     5     0
  2     B     2     4     1
  3     C     3     3     2
  4     D     4     2     3
  5     E     5     1     4
Run Code Online (Sandbox Code Playgroud)

这个例子来自另一个问题,但我问的是相反的。

r

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

r按组计算正值的比例

使用此数据框:

table <- "
    trt rep ss  d1  d4  d5  d6  d7
    1   1   1   0   0   0   0   0
    1   1   2   0   0   0   0   0
    1   1   3   0   0   1   2   2
    1   2   1   0   0   1   3   6
    1   2   2   0   1   1   2   4
    1   2   3   0   0   0   1   1
    1   3   1   0   0   0   0   0
    1   3   2   0   0   0   0   0
    1   3   3   0 …
Run Code Online (Sandbox Code Playgroud)

r

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

为什么线性拟合的结果在R和Excel(Gnumeric Spreadsheet和WPS)中具有相同的小数据?

当我在R和类似Excel的电子表格软件(例如Gnumeric Spreadsheet和WPS)中对我的数据进行简单的线性拟合时,我遇到了一个奇怪的问题.

下面的数据是19对x和y

93.37262737 56200
101.406044  62850
89.27322677 56425
86.9458042  43325
70.54645355 42775
85.1936032  38375
72.10985    38376
73.54055944 22950
78.092  15225
71.30285    12850
70.03953023 18125
66.31068931 14200
93.39847716 13925
66.09695152 13225
70.6549 18125
76.43348868 14125
71.37531234 14875
85.7953977  19275
95.65012506 45375
Run Code Online (Sandbox Code Playgroud)

并保存在名为'data.csv'的文件中

我在x和y之间进行线性拟合.R脚本如下:

data<-read.csv("data.csv",col.names=c("x","y"))

# plot data
plot(data$x,data$y)
#Fit
lmodelx<-lm(data$y~data$x)
abline(lmodelx)

summary(lmodelx)
Run Code Online (Sandbox Code Playgroud)

这给出了这个结果:

Call:
lm(formula = data$y ~ data$x)

Residuals:
   Min     1Q Median     3Q    Max 
-27855  -7151  -1314   6947  23014 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) -48212.8    23691.0 …
Run Code Online (Sandbox Code Playgroud)

excel r data-fitting

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

如何使用dplyr按组删除某个点之后的所有行?

我有一个数据框:

test_df <- data.frame(
  x = c(rep("a", 5), rep("b", 5)), 
  y = c(1, 2, NA, 2, 3, NA, 1, 2, 3, 1)
)
Run Code Online (Sandbox Code Playgroud)

我希望通过第x列中的分组信息删除y == 2 之后的所有行.有没有办法做到这一点dplyr

我想要的结果来自:

   x  y
1  a  1
2  a  2
3  a NA
4  a  2
5  a  3
6  b NA
7  b  1
8  b  2
9  b  3
10 b  1
Run Code Online (Sandbox Code Playgroud)

   x  y
1  a  1
2  a  2
6  b NA
7  b  1
8  b …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

使用带有 ggplot2 的 apply 函数为 data.frame 中的多个变量创建条形图

有没有办法在 R 中使用应用函数来创建条形图ggplot2

说,我们有一个数据框,只包含因子变量,其中一个是布尔变量。就我而言,我有一个带有 +40 个变量的日期框架。可以用一行代码将所有变量与布尔变量进行对比吗?

  data("diamonds")
factors <- sapply(diamonds, function(x) is.factor(x))
factors_only <- diamonds[,factors]
factors_only$binary <- sample(c(1, 0), length(factors_only), replace=TRUE)
factors_only$binary <- as.factor(factors_only$binary)
Run Code Online (Sandbox Code Playgroud)

但我想创建这样的条形图:

qplot(factors_only$color, data=factors_only, geom="bar", fill=factors_only$binary)
Run Code Online (Sandbox Code Playgroud)

这不起作用:

  sapply(factors_only,function(x) qplot(x, data=factors_only, geom="bar", fill=binary))
Run Code Online (Sandbox Code Playgroud)

请指教

r ggplot2 lapply

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

标签 统计

r ×10

data-fitting ×1

data.table ×1

date ×1

dplyr ×1

excel ×1

ggplot2 ×1

lapply ×1

lme4 ×1

matrix ×1

plot ×1

sorting ×1