小编kos*_*tia的帖子

如何为因子变量的每个级别应用函数?

我有这样的功能:

remove_outliers<-function(x){
qnt<- quantile(x,probs=0.99)
y<- x
y[x>qnt]<- NA
y}
Run Code Online (Sandbox Code Playgroud)

目的是删除位于数据顶部1%的异常值(用NA替换它们的值).如何在因子变量的各个级别上应用此功能?

例如,

A组和B组的原始数据集:

group share
A     100
A     50
A     30
A     10
...   ...
B     100
B     90
B     80
B     60
...   ...
Run Code Online (Sandbox Code Playgroud)

应该像这样结束:

group share
A     NA
A     50
A     30
A     10
...   ...
B     NA
B     90
B     80
B     60
...   ...
Run Code Online (Sandbox Code Playgroud)

我已经试过了,但是这些都改变了数据集输出的结构.

r percentile r-factor

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

lattice xyplot panel.abline - 如何根据x值添加不同的水平线?

如何根据指定的x值在每个图形中绘制水平线?例如,当我在x轴上有X = 1时,图上的匹配点是(1,y0),然后绘制一条水平线Y = y0?

使用虹膜数据的工作示例,只有x = 0.5的垂直线:

iris = read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data", sep=',', header=F)
names(iris) = c("sepal.length", "sepal.width", "petal.length", "petal.width", "iris.type")


xyplot(sepal.length ~ petal.width | iris.type, data = iris,
    panel = function(...) {
        panel.abline(v=0.5, lty = "dotted", col = "black")
        panel.xyplot(...)
})
Run Code Online (Sandbox Code Playgroud)

但是我也希望以这种方式显示水平线:在iris-setosa图(面板)中看到,通过(0.5,y)处的点标记水平线 - 我手动绘制.我不知道如何在panel.abline中指定y,因为y是每个面板看起来不同的变量.

在我的实际数据中,我的x和y具有一对一的关系.

我认为这应该是一个简单的问题,但不知道如何解决这个问题.我希望这更清楚.

在此输入图像描述

r lattice

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

Postgresql如何从一个表中选择仅在另一个表中可用的列中的值?

我正在使用 Postgresql 并且需要像这样查询两个表:

表格1

  ID     Bill  
  A       1
  B       2
  B       3
  C       4
Run Code Online (Sandbox Code Playgroud)

表2

 ID  
  A     
  B
Run Code Online (Sandbox Code Playgroud)

我想要一个包含表 1 中所有列的表,但只保留表 2 中可用 ID 的记录(在本例中为 A 和 B)。此外,Table2 的 ID 是唯一的。

  ID     Bill  
  A       1
  B       2
  B       3
Run Code Online (Sandbox Code Playgroud)

我应该使用哪个连接或者我是否可以使用 WHERE 语句?

谢谢!

postgresql

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

标签 统计

r ×2

lattice ×1

percentile ×1

postgresql ×1

r-factor ×1