小编oer*_*cim的帖子

查找数据框的补充(反连接)

我有两个数据帧(df和df1).df1是df的子集.我想获得一个数据帧,它是df中df1的补码,即返回第一个数据集的行,这些行在第二个数据集中不匹配.比如让,

数据框df:

heads
row1
row2
row3
row4
row5
Run Code Online (Sandbox Code Playgroud)

数据框df1:

heads
row3
row5
Run Code Online (Sandbox Code Playgroud)

然后所需的输出df2是:

heads
row1
row2
row4
Run Code Online (Sandbox Code Playgroud)

merge join r r-faq

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

通过分组对列进行R排名,以另一个变量为条件

我有这样一个数据框(df):

group col1 col2  
x      a    22    
x      a    23  
x      b    16  
x      b    18  
y      a    11  
y      a    12  
y      a    16  
y      a    45  
y      b    24  
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

group col1 col2 rank 
x      a    22  1  
x      a    23  2
x      b    16  0
x      b    18  0
y      a    11  1
y      a    12  2
y      a    16  3
y      a    45  4
y      b    24  0
Run Code Online (Sandbox Code Playgroud)

也就是说,

  • 按组和col1排序col2
  • 当col1 ="b"时,rank为0
  • col2从最小到最大的等级值

我怎么能用R做到这一点?我会很高兴得到任何帮助.非常感谢.

r

7
推荐指数
3
解决办法
3716
查看次数

R-找到数据帧的不匹配列名

我有两个大数据帧(df1和df2).我想用rbind函数组合它们:

df<-rbind(df1,df2)
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误:

Error in match.names(clabs, names(xi)) : 
names do not match previous names
Run Code Online (Sandbox Code Playgroud)

数据框中有100多个变量.我知道大多数名字都匹配.一个或两个名称可能不匹配.如何找到df1和df2的不匹配列名.我会很高兴得到任何帮助.非常感谢.

r

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

通过更改值来更改数据框的列名 - R

让我有以下数据框。

df.open<-c(1,4,5)
df.close<-c(2,8,3)

df<-data.frame(df.open, df.close)



> df
  df.open df.close
1       1        2
2       4        8
3       5        3
Run Code Online (Sandbox Code Playgroud)

我想更改包含“a”的“打开”和包含“b”的“关闭”的列名:

即我想获得以下数据框:

  a b
1 1 2
2 4 8
3 5 3
Run Code Online (Sandbox Code Playgroud)

我有很多这样的数据框。预值(这里是“df”)正在改变,但“打开”和“关闭”是固定的。

非常感谢。

r dataframe

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

R分割具有NA的因子的数据帧

我有一个从web导入的数据帧(df).我对df的以下列(colname)感兴趣.colname的元素被认为是"因素".来自df的样本如下所示,其中还包括"NA":

colname
57 +0.10
55
NA
57,5 +2.00
56,5 +0.50
56,5
58
Run Code Online (Sandbox Code Playgroud)

我想将colname拆分为"+"并获得3个数字列,如下所示.所需的输出是:

colname1 colname2 total
57.00    0.10     57.10
55.00    0.00     55.00
NA       NA       NA
57.50    2.00     59.50
56.50    0.50     57.00
56.50    0.00     56.50 
58.00    0.00     58.00
Run Code Online (Sandbox Code Playgroud)

这也是一个数据框,所有列都是数字.但是,我遇到了这个问题.无论我做什么,我都无法得到理想的结果.错误主要由"NA"和"因子"数据类型引起.我会很高兴得到任何帮助非常感谢.

r

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

将希腊字母从R导出到Excel

我想使用R将包含希腊字母的字符串导出到Excel.

例如,我想导出以下表达式:

β 00 1

我正在使用XLConnectJars和XLConnect库将表达式从R导出到Excel.

有没有办法导出这样的表达式从R导出到Excel?

例如,下面的代码在我的桌面上创建一个名为"example"的excel文件.该文件有一个"表达式"表,在该表中,下面的表达式被打印到B3单元格中:

B0 = A0 + 1

library(XLConnectJars)
library(XLConnect)
wb<-loadWorkbook("data.xlsx", create = TRUE)
createSheet(wb,"Expression")
writeWorksheet(wb,"B0=A0+1", "Expression",startRow = 3,startCol = 2,header=FALSE)
saveWorkbook(wb, file="C:/Users/ozgur/Desktop/example.xlsx")
Run Code Online (Sandbox Code Playgroud)

我想要同样的东西,但希腊字母.

我会很高兴得到任何帮助吗?非常感谢.

excel r

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

根据组内排名的R-新变量

我有这样一个数据框(df),它只是一个示例:

group value condition   
1     12      1
1     14      1
1     18      1
1     10      0
1     7       1
2     12      1
2     9       0
2     12      1
2     16      1
2     15      0
Run Code Online (Sandbox Code Playgroud)

即;

df<-data.frame(group=c(1,1,1,1,1,2,2,2,2,2), value=c(12,14,18,10,7,12,9,12,16,15), condition=c(1,1,1,0,1,1,0,1,1,0))
Run Code Online (Sandbox Code Playgroud)

我想创建3个名为"rank1","rank2"和"rank3"的新列

  • rank1给出"组"中最小的"值"
  • rank2给出"组"中第二个最小的"值"
  • rank3给出"组"中第三个最小的"值"
  • 在满足condition = 1的值内

即,期望的输出是:

group rank1 rank2 ran3
1     7     12    14
2     12    12    16
Run Code Online (Sandbox Code Playgroud)

我怎么能用R做到这一点?我会很高兴得到任何帮助.非常感谢.

r

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

按组将一列转换为多列

我有一个数据框(df):

group col
a     12
a     15
a     13
b     21
b     23
Run Code Online (Sandbox Code Playgroud)

所需的输出也是一个数据帧(df1):

col1  col2
12    21
15    23
13    0
Run Code Online (Sandbox Code Playgroud)

Namley,我想按“group”将“df”的“col”分区为多列,如“col1”和“col2”。

当每列长度不相等时,必须在每列末尾添加“0”,直至每列长度达到最大列长度。

r

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

确定无限元素的数量及其在矩阵中的位置

我想用R确定无限元素的数量及其在矩阵中的位置.让m是这样的2x4矩阵:

4  inf  12   6
1  8    inf  42
Run Code Online (Sandbox Code Playgroud)

显然,m中有2个无限元素.他们的位置是1,2和2,3.

如何使用R找到这些?

r

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

用R中的列平均值替换矩阵中的无限值

让我有这样一个3x4矩阵(比方说m):

4  inf  12   6
1  8    inf  42
5  1    3    11
Run Code Online (Sandbox Code Playgroud)

我想用列平均值替换无限单元格.我怎么能用R做到这一点?

所以结果矩阵必须是:

4  4.5  12   6
1  8    7.5  42
5  1    3    11
Run Code Online (Sandbox Code Playgroud)

r

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

R-使用名称创建多个数据框

我想创建 100 个带有名称的空数据框

  • df1, df2, ...,df100。

每个数据框将有 2 列,其中

  • 第 i 个数据框 dfi 具有列名为“yi”和“xi”的列。例如, df5 的列名将是 y5 和 x5。
  • 第一列是字符,第二列是数字。

我怎样才能使用 R 创建这样的数据框。我会很高兴得到任何帮助。非常感谢。

r

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

根据R的规则在数据帧中填充NA

让我有这样一个数据框(df):

date           x     y
01-01-2016    43    14
02-01-2016    32    NA
03-01-2016    42    NA
04-01-2016    35    19
05-01-2016    45    NA
06-01-2016    65    NA
07-01-2016    39    NA
08-01-2016    39    24
Run Code Online (Sandbox Code Playgroud)

我想在上面的数据框(df)中添加两个新的列(z1和z2)

date           x     y    z1     z2
01-01-2016    43    14    14     14
02-01-2016    32    NA    14     19 
03-01-2016    42    NA    14     19
04-01-2016    35    19    19     19
05-01-2016    45    NA    19     24
06-01-2016    65    NA    19     24
07-01-2016    39    NA    19     24
08-01-2016    39    24    24     24
Run Code Online (Sandbox Code Playgroud)

z1规则如下:

  • 如果y_t不是NA z1_t = y_t
  • 如果y_t是NA,则z1_t等于不是NA的最接近的先前y值. …

r

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

标签 统计

r ×12

dataframe ×1

excel ×1

join ×1

merge ×1

r-faq ×1