小编cod*_*art的帖子

用R中的NA重新编码变量

我试图根据其他三个变量的值编写一个新变量.具体来说,如果所有变量都是NA,我希望新变量取NA,如果它们中的任何一个是1,它应该取1,否则它应该取0.但是,我使用下面的代码遇到错误:

frame <- data.frame(x = c(NA,NA,1), x2 = c(NA, NA, 0), x3 = c(NA,0,0))
frame

y <- ifelse(is.na(frame$x) == TRUE & is.na(frame$x2) == TRUE & is.na(frame$x3) == TRUE, NA, 0)
y2 <- ifelse(frame$x == 1 | frame$x2 == 1 | frame$x3 == 1, 1, y)
Run Code Online (Sandbox Code Playgroud)

y的第二个数字正确为0,但在y2中引用时变为NA.知道为什么会这样吗?

r na recode

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

在R中的ggplot2中外推线性拟合散点图

我想对ggplot2超出该数据区域的数据子集的数据进行线性拟合(以便可视化外推的危险).在下面的代码中,我想将1980-1990帧生成的线性拟合扩展到1990-2000,这样我就可以在整个时间段内添加完全拟合并可视化差异:

set.seed(123)           
frame <- data.frame(year = rep(1980:2000, 10), y = sample(1:1000, 210))
head(frame)

frame1 <- frame[frame$year %in% c(1980:1990),]
frame2 <- frame[frame$year %in% c(1980:2000),]

ggplot(frame1, aes(x = year, y = y)) + geom_point(shape = 1) + geom_smooth(method = lm) + xlim(1980, 2000)
ggplot(frame2, aes(x = year, y = y)) + geom_point(shape = 1) + geom_smooth(method = lm) + xlim(1980, 2000)
Run Code Online (Sandbox Code Playgroud)

我是新手,ggplot2所以如何从第一帧扩展线性拟合,然后添加数据和新的拟合与不同的颜色将是伟大的.谢谢.

r ggplot2 lm extrapolation

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

数据表聚合遇到NA麻烦

我正在使用该data.table程序包将给定位置的每个时间段内具有多个观察值的面板聚合到一个面板中,该面板中的时间段位置具有唯一观察值。但是,在使用NA进行观测汇总时遇到了麻烦。虽然这很好用:

set.seed(123)
data.frame(name = c("a", "a", "a", "b", "b", "b"), t = rep(c(1,2),3), x1 = sample(0:10,6), x2 =  sample(0:10,6))
f1

  name t x1 x2
    a 1  3  5
    a 2  7  8
    a 1 10  4
    b 2  9  3
    b 1  6  6
    b 2  0  2

f2 <- setDT(f1)[, lapply(.SD, sum(x, na.rm = TRUE)), by = .(name,t), .SDcols = c("x1", "x2")]
f2

   name t x1 x2
    a 1 13  9
    a 2  7  8
    b 2 …
Run Code Online (Sandbox Code Playgroud)

r na data.table

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

R功能中的掩码输出

我是在R中编写函数的新手,想要编写一个创建多个输出的函数,但是我想屏蔽某些对象的输出,使得它们被计算并且可以被调用,但是当它们不能直接输出时功能很有趣.例如:

fun <- function(x){
    mean <- mean(x)
    sd <- sd(x)
    return(list(sd = sd, mean = mean))
}

x <- rnorm(100)
fun(x)
Run Code Online (Sandbox Code Playgroud)

在这里,我希望在运行fun(x)并且计算sd但不报告时报告平均值(当我从列表中取出sd时,我以后再也不能调用它).谢谢你的帮助!

r function mask output

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

如何在 barplot() 中将“names.arg”加粗

我想在 Rnames.arg中将名称参数(例如 )加粗barplot()。例如:

bars <- as.table(c(1,2))
barplot(bars, names.arg = c("MMM", "NNN"), cex.names = 2)
Run Code Online (Sandbox Code Playgroud)

关于如何实现这一目标有什么想法吗?谢谢。

plot r bar-chart

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

识别 R 中的字符匹配百分比

我正在计算 R 中字符串的匹配百分比。例如:

x <- "asdf"     
y <- "fdjk"     
Run Code Online (Sandbox Code Playgroud)

我希望返回 0.5(例如 2 个匹配,无论顺序如何)。任何想法都将不胜感激。

string r match

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

标签 统计

r ×6

na ×2

bar-chart ×1

data.table ×1

extrapolation ×1

function ×1

ggplot2 ×1

lm ×1

mask ×1

match ×1

output ×1

plot ×1

recode ×1

string ×1