小编avi*_*seR的帖子

如何将组行附加到数据框中

我有这个df1:

A B C
1 2 3
5 7 9
Run Code Online (Sandbox Code Playgroud)

A B C列名称在哪里.

我有一个列的另一个df2:

A
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

我想为df1的每一列附加df2,创建这个最终的数据帧:

A B C 
1 2 3
5 7 9
1 1 1
2 2 2
3 3 3
4 4 4
Run Code Online (Sandbox Code Playgroud)

有可能做到吗?

r append matrix dataframe rbind

15
推荐指数
8
解决办法
1050
查看次数

R中是否有字典功能

有没有办法在R中创建一个"字典",以便它有成对?有效的东西:

x=dictionary(c("Hi","Why","water") , c(1,5,4))
x["Why"]=5
Run Code Online (Sandbox Code Playgroud)

我问这个是因为我实际上在寻找两个分类变量函数.

所以,如果x =字典(c("a","b"),c(5,2))

     x  val
1    a  5 
2    b  2 
Run Code Online (Sandbox Code Playgroud)

我想在x键的所有组合上计算x1 ^ 2 + x2

     x1 x2 val1  val2  x1^2+x2
1    a  a   5     5      30
2    b  a   2     5      9
3    a  b   5     2      27
4    b  b   2     2      6
Run Code Online (Sandbox Code Playgroud)

然后我希望能够使用x1和x2检索结果.效果如下:get_result ["b","a"] = 9

什么是最好,最有效的方法呢?

dictionary r

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

str_replace A1-A9到A01-A09等

嗨我的数据中有以下字符串,并希望将A1-A9替换为A01-A09,将B1-B9替换为B01-B09,但保留数字>=10.

rep_data=data.frame(Str= c("A1B10", "A2B3", "A11B1", "A5B10"))

    Str
1 A1B10
2  A2B3
3 A11B1
4 A5B10
Run Code Online (Sandbox Code Playgroud)

这里有一个类似的帖子,但我的问题有点不同!并且在这里str_replace没有看到类似的例子.

如果您知道解决方案,将会非常高兴.

预期产出

Str
1 A01B10
2 A02B03
3 A11B01
4 A05B10
Run Code Online (Sandbox Code Playgroud)

regex r str-replace dataframe

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

通过匹配值将向量连接到数据帧

我正在尝试比较多个向量,以查看它们之间存在匹配值的位置.我想将向量组合成一个表,其中每列具有相同的值(对于匹配)或NA(对于不匹配).

例如:

list1 <- c("a", "b", "c", "d")
list2 <- c("a", "c", "d")
list3 <- c("a", "b", "c", "e", "f")  
Run Code Online (Sandbox Code Playgroud)

应该成为:

a  a  a
b NA  b
c  c  c
d  d  NA
NA NA e
NA NA f
Run Code Online (Sandbox Code Playgroud)

我试着做载体dataframes和使用merge,joindplyr,cbind,cbind.fill,但所有这些要么返回一个单一的列或不所有相匹配的行值.

使用R获得此结果的最佳方法是什么?

merge r dataframe dplyr

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

将列表附加到R中的数据框

我在R中创建了一个带有两列的空数据框:

d<-data.frame(id=c(), numobs=c())
Run Code Online (Sandbox Code Playgroud)

我想用一个列表附加这个数据框(在一个循环中),d1它有输出:

[1] 1  100
Run Code Online (Sandbox Code Playgroud)

我试过用rbind:

d<-rbind(d, d2)
Run Code Online (Sandbox Code Playgroud)

并且merge:

d<-merge(d, d2)
Run Code Online (Sandbox Code Playgroud)

我甚至尝试制作列表列表,然后将其转换为数据帧,然后给出数据帧名称:

d<-rbind(dlist1, dlist2)
dframe<-data.frame(d)
names(dframe)<-c("id","numobs")
Run Code Online (Sandbox Code Playgroud)

但是这些似乎都不符合例程检查器的标准(这是针对一个类),它给出了错误:

Error: all(names(cc) %in% c("id", "nobs")) is not TRUE
Run Code Online (Sandbox Code Playgroud)

即使它在我的工作区中工作正常.

这是令人沮丧的,因为错误没有揭示错误发生的位置.

任何人都可以帮我合并2个数据帧或附加数据框与列表?

r list append dataframe rbind

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

ggplot facetted geom_boxplot:减少x轴类别之间的空间

我正在使用ggplot创建一个boxplot.当我减小箱图的宽度时,x轴类别之间的空间增加.我希望能够缩小x轴类别之间的空间,并使箱形图更接近彼此.

p<-ggplot(data.plot1, aes(time2, Count))
p+geom_boxplot(outlier.shape = NA, width=0.3)+
  ggtitle("")+ylab("Cell Count (cells/mL) ")+ xlab("Time")  + 
  theme_bw()+  coord_cartesian(ylim = c(0, 850))+
  geom_hline(data=normal1, aes(yintercept = val), linetype="dashed")+
  facet_grid(.~CellType1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

因此,基本上,减少第0天,第30天,第100天之间的空间,并使箱形图彼此更接近.

r ggplot2 boxplot

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

找到最相关的变量对

假设我有一个由 20 列(变量)组成的数据框,并且它们都是数字。我总是可以使用corR 中的函数来获取矩阵形式的相关系数或实际可视化相关矩阵(相关系数也被标记)。假设我只想根据相关系数值对对进行排序,如何在 R 中执行此操作?

sorting r dataframe pearson-correlation

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

Purrr 和 R 中的几个多元回归

我知道有几种方法可以比较回归模型。创建模型(从线性到多个)并比较 R2、调整后的 R2 等的一种方法:

Mod1: y=b0+b1
Mod2: y=b0+b1+b2
Mod3: y=b0+b1+b2+b3 (etc)
Run Code Online (Sandbox Code Playgroud)

我知道有些包可以执行逐步回归,但我正在尝试使用 purrr进行分析。我可以创建几个简单的线性模型感谢这里的这篇文章),现在我想知道如何创建回归模型,将特定的 IV 添加到方程

可复制代码

data(mtcars)
library(tidyverse)
library(purrr)
library(broom)
iv_vars <- c("cyl", "disp", "hp")
make_model <- function(nm) lm(mtcars[c("mpg", nm)])
fits <- Map(make_model, iv_vars)
glance_tidy <- function(x) c(unlist(glance(x)), unlist(tidy(x)[, -1]))
t(iv_vars %>% Map(f = make_model) %>% sapply(glance_tidy))
Run Code Online (Sandbox Code Playgroud)

输出 线性模型的输出

我想要的是:

Mod1: mpg ~cyl
Mod2: mpg ~cly + disp
Mod3: mpg ~ cly + disp + hp
Run Code Online (Sandbox Code Playgroud)

非常感谢。

r linear-regression broom purrr

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

使用R中的stringr和regex从文本中提取数字

我有一个问题,我试图从包含文本和数字的字符串中提取数字,然后创建两个新列,显示数字的最小值和最大值。

例如,我有一列和一串这样的数据:

Text
Section 12345.01 to section 12345.02
Run Code Online (Sandbox Code Playgroud)

我想从 Text 列中的数据创建两个新列,如下所示:

Min        Max   
12345.01   12345.02
Run Code Online (Sandbox Code Playgroud)

我将 dplyr 和 stringr 与正则表达式一起使用,但正则表达式仅提取模式的第一次出现(第一个数字)。

df%>%dplyr::mutate(SectionNum = stringr::str_extract(Text, "\\d+.\\d+"))
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用该stringr::str_extract_all功能。它似乎提取了模式的两个出现,但它在小标题中创建了一个列表,我发现这是一个真正的麻烦。所以我坚持第一步,只是想把数字放到他们自己的列中。

谁能推荐最有效的方法来做到这一点?理想情况下,我想从字符串中提取数字,将它们转换为数字as.numeric,然后运行min()max()运行。

regex r stringr

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

无论如何,在Rmarkdown中可以并排对齐代码和输出吗?

我试图在markdown文件中使用下面的css代码,但是它们彼此不对齐,还会弄乱我的下一行代码。

这是示例代码:

<style>
.column-left{
  float: left;
  width: 50%;
  text-align: left;
}
.column-right{
  float: right;
  width: 50%;
  text-align: left;
}
</style>

###### Header:

<div class="column-left">

```
# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6
```

</div>

<div class="column-right">

# Header 1
## Header 2
### Header 3 
#### Header 4
##### Header 5
###### Header 6

</div>

##### bold and _italics_

<div class="column-left">

```
This is *Rmarkdown*!

This is _Rmarkdown_!

This …
Run Code Online (Sandbox Code Playgroud)

html css r r-markdown

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