小编DQd*_*dlM的帖子

如何合并和维护一个输入的行顺序?

我有一个数据框,将瓶号与其卷相关联(key在下面的示例中).我想编写一个函数,它将获取瓶号(samp)的任何列表,并返回瓶容量列表,同时保持瓶号顺序samp.

以下功能正确匹配瓶号和体积,但按瓶号上升对输出进行排序.

我怎样才能保持sampmerge?的顺序?设置sort=FALSE结果为"未指定的顺序".

samp <- c(9, 1, 4, 1)
num <- 1:10
vol <- sample(50:100, 10)
key <- data.frame(num, vol)
matchFun <- function(samp, key)
  {
    out <- merge(as.data.frame(samp), key, by.x="samp", by.y="num")
    return(out$vol)
  }
Run Code Online (Sandbox Code Playgroud)

sorting merge r dataframe

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

为什么`stringsAsFactors`在R中使用大写字母表示可读性?

为什么stringsAsFactorsR大多数其他命令似乎使用时使用大写字母来帮助提高可读性.(例如as.factor)?

这是我不熟悉的命令的特殊性或更高组织的一部分吗?

有没有办法预测哪些命令将使用大写字母,哪些命令将使用.

谢谢

r

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

如何在R中为每个绘图代码生成多个文件格式?

我使用Github markdown来记录我的数据分析.当我制作一个情节时,我使用:

jpeg("file_name.jpg")
plot(...)
dev.off()
Run Code Online (Sandbox Code Playgroud)

将绘图保存为jpeg,然后可以嵌入并显示在降价文档中,如下所示:

!(file_name.jpg)
Run Code Online (Sandbox Code Playgroud)

但是,我还需要pdf为最终出版物制作一个情节.目前我再次编写整个绘图代码,pdf("file_name.pdf")但这导致了许多基本上重复的代码.

我已经尝试按顺序放入jpegpdf调用,但只生成底部调用.

有没有办法在一次代码运行期间从同一代码生成jpegpdf文件?

plot r image

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

当用R中的`as.factor`绘图时,为什么`ann = F`不起作用?

我正在使用plot()R 中的因子绘制连续变量(参见下面的示例).我不想要轴上的标签.如果没有as.factor公式中的调用,ann = F则会禁止打印标签,但as.factor在公式中不起作用.

为什么是这样?

谢谢.

# example for SO
# example data 
x <- sample(1:100, 10)
y <- c(rep(1, 5), rep(2, 5))

# ann = F doesn't work here
plot(x ~ as.factor(y), ann = F)

# ann = F does work here
plot(x ~ y, ann = F)
Run Code Online (Sandbox Code Playgroud)

plot r r-factor

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

如何更有效地计算数据帧的多个子集的斜率?

我有一个数据集,包含5个不同日期()的16个不同样本()a的波长范围内的光学吸收().样本()1 - 3 的输出如下.wlboddaydputbod

我需要每天每个样本的波长吸收自然对数的斜率.

我目前的方法是手动执行此操作:

# calculate and extract the slope for each sample and date
s275.1.0 <- lm(log(a) ~ wl, data = spec275, subset = bod == 1 & day == "2014-06-10")
s275.1.0.slope <- coef(s275.1.0)["wl"]
s275.2.0 <- lm(log(a) ~ wl, data = spec275, subset = bod == 2 & day == "2014-06-10")
s275.2.0.slope <- coef(s275.1.0)["wl"]
# etc...
# combine slopes into a vector
s275.slopes <- c(s275.1.0, s275.2.0) # etc...
Run Code Online (Sandbox Code Playgroud)

显然这是相当乏味的.是否有简单的方法来简化此代码以使R在所有样本和天数上迭代这些计算?

输出输出 …

r lm

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

为什么在R中的这个`if`语句中没有赋值这个对象?

我试图通过使用R解决这个ProjectEuler问题来学习R.

如果我cat在我的函数中使用,我可以得到正确的值列表:

> n <- 1:9
> s <- 0
> ck <- function(n)
+   for(i in n) 
+     if(i/3 == round(i/3) | i/5 == round(i/5)) cat(i) 
> ck(n) 
3569> 
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试将这些分配给一个对象来对它们求和它就不起作用:

> n <- 1:9
> s <- 0
> ck <- function(n)
+   for(i in n) 
+     if(i/3 == round(i/3) | i/5 == round(i/5)) s <- c(s, i) 
> ck(n)
> s
[1] 0
>
Run Code Online (Sandbox Code Playgroud)

为什么第二个功能不起作用?

谢谢.

r function

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

为什么在"</ html>"之后放置的内容会出现在浏览器中?

我试图存储一些文本,我可能会在</html>文档的标记之后使用(就像我\end{document}在LaTeX中经常使用的那样),但浏览器仍会显示文本.

这是我的理解是,页面是由什么是之间定义<html></html>,那么为什么事情超出</html>获得的信息?

html browser tags xhtml quirks-mode

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

有没有办法让 tapply 使用两个索引值(或等效值)?

我有一个如下所示的数据框:

index1 <- c(rep("A", 3), rep("B", 3), rep("C", 3))
index2 <- rep(c("X", "Y", "Z"), 3)
value <- sample(1:100, 9)
SEdata <- data.frame(index1, index2, value)
Run Code Online (Sandbox Code Playgroud)

我要的是最大value为每个组合index1index2(即最大所有AX,最大所有AY的,等...)

我试过这样使用tapply

tapply(SEdata$value, SEdata$index1 & SEdata$index2, max) 
Run Code Online (Sandbox Code Playgroud)

……但这显然行不通。

有没有办法tapply处理 2 个索引条件,或者有没有更好的方法来解决这个问题?

r tapply

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

标签 统计

r ×7

plot ×2

browser ×1

dataframe ×1

function ×1

html ×1

image ×1

lm ×1

merge ×1

quirks-mode ×1

r-factor ×1

sorting ×1

tags ×1

tapply ×1

xhtml ×1