r - 条件列创建

标签 r

我有一个包含两列的数据框(数据并不总是相同)。

1 1 
2 2 
3 3 
0 0 
-1 -1 
-2 -2 
-3 -3

我想做的是为该列的前 10% 和该列的底部 10% 创建另一列,用作散点图的标签。

1 1 
2 2 
3 3 1
0 0 
-1 -1  
-2 -2 
-3 -3 2

此外,它需要能够从任一列中选择并标记顶部/底部 10%

有什么想法吗?

最佳答案

你的问题有点含糊。 “jpeg 输出中使用的比例”是什么意思?意思是?两列总是相同吗?也许您正在寻找类似以下内容的内容:

> dat<-data.frame(a=c(-(1:3),0:3))
> low<-quantile(dat$a,.1)
> high<-quantile(dat$a,.9)
> dat$flag<-NA
> dat$flag[dat$a<=low]<-1
> dat$flag[dat$a>high]<-2
> dat
   a flag
1 -1   NA
2 -2   NA
3 -3    1
4  0   NA
5  1   NA
6  2   NA
7  3    2

关于r - 条件列创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934670/

相关文章:

r - 选择一个子集,其中分类变量(列)可以有 2 个值

r - 加入 data.table 时值发生变化

r - 多个 ggplots 导致图例问题

R 数据集与 tableau 的连接

r - 计算不包括当前值的平均值

r - 如何以 NULL 结束 dplyr 管道?允许轻松评论/取消评论

R:如何使用 ggplot2 组合两个相关矩阵

r - mutate_each 中的 one_of(vector) 导致找不到对象

r - 我想在 R 中编写一个正则表达式来删除包含数字的字符串中的所有单词

r - 无法将 "gather"输出的列名称更改为默认名称以外的任何名称