小编use*_*376的帖子

对列表中的数据框进行子集化后取消拆分数据框列表

假设我有一个数据框“x”

> x
    x1         x2 x3
1  box 0.81432465  4
2  box 0.19628122  2
3  box 0.06619734  1
4  box 0.90403568  5
5  box 0.52693274  3
6  axe 0.28665840  2
7  axe 0.45193228  3
8  axe 0.48278466  4
9  axe 0.86553847  5
10 axe 0.13925190  1
11 cat 0.86340413  5
12 cat 0.28387540  2
13 cat 0.24297445  1
14 cat 0.36651366  3
15 cat 0.55038108  4
Run Code Online (Sandbox Code Playgroud)

然后我对其执行以下操作

> x.factor <- factor(x[,1]) ## convert column 1 as factors
> x.split <- …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

R:使用来自另一个数据帧的映射在数据框中创建新列

我有以下数据框架.

> temp
  x1    x2
1  1 INDIA
2  2 INDIA
3  3    US
4  4    US

> PortfolioIndices
  Country   Index CCY
1   INDIA   CNX50 INR
2      US   SP500 USD
3      UK FTSE100 GBP
Run Code Online (Sandbox Code Playgroud)

我想使用PortfolioIndices数据框中的映射,使用与x2列中各个国家/地区对应的货币向temp添加一个列.这样的东西应该是输出

> temp
  x1    x2  x3
1  1 INDIA INR
2  2 INDIA INR
3  3    US USD
4  4    US USD
Run Code Online (Sandbox Code Playgroud)

我不想使用for循环,因为实际数据可能非常大,并且在这种情况下使用for循环将是非常低效的.有没有更好的方法来实现给定的输出?

提前致谢.

r

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

计算R并保持出现的顺序

假设我使用以下语句生成了一个向量:

x1 <- rep(4:1, sample(1:100,4))
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用以下命令计算出现次数

count(x1)
  x freq
1 1   40
2 2   57
3 3    3
4 4   46
Run Code Online (Sandbox Code Playgroud)

要么

as.data.frame(table(x1))
  x1 Freq
1  1   40
2  2   57
3  3    3
4  4   46
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都不会保留发生的顺序.我想保留发生的顺序,即输出应该是这样的

  x1 Freq
1  4   46
2  3    3
3  2   57
4  1   40
Run Code Online (Sandbox Code Playgroud)

最干净的方法是什么?另外,有没有办法强制执行特定订单?

aggregate r

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

ggplot2中的直线加条形图

我试图使用ggplot绘制线条加条形图,但我收到错误"错误:ggplot2不知道如何处理类uneval的数据"

require(ggplot2)    
df.1 <- data.frame(x = c(1:5), y = rnorm(5))
df.2 <- data.frame(x = c(1:10), y = runif(10))

p <- ggplot(df.1, aes(x=x, y=y)) + 
    geom_bar(stat = "identity") +
    geom_line(df.2, aes(x=x, y=y))
Run Code Online (Sandbox Code Playgroud)

两个数据帧的x轴刻度始终相同,但需要将其中一个绘制为折线图,而另一个需要绘制为条形图.在我看来,ggplot2不支持两个数据帧.有没有解决这个问题的工作?

我尝试通过rCharts使用nvd3但是现在似乎不支持linePlusBarChart.

提前致谢!!!

r

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

允许在聚合函数中与NA分组

这是虚拟数据

temp.df <- data.frame(count = rep(1,6), x = c(1,1,NA,NA,3,10), y=c("A","A","A","A","B","B"))
Run Code Online (Sandbox Code Playgroud)

当我按如下所示应用汇总时:

aggregate(count ~ x + y, data=temp.df, FUN=sum, na.rm=FALSE, na.action=na.pass)
Run Code Online (Sandbox Code Playgroud)

我得到:

   x y count
1  1 A     2
2  3 B     1
3 10 B     1
Run Code Online (Sandbox Code Playgroud)

但是,我想要以下输出:

   x  y count
1  NA A     2
2  1  A     2
3  3  B     1
4 10  B     1
Run Code Online (Sandbox Code Playgroud)

希望有道理,谢谢。

aggregate r

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

标签 统计

r ×5

aggregate ×2

dataframe ×1