小编Ada*_*m_S的帖子

模糊地址匹配 R

是的,以前有人问过这个问题,但我找不到可以为这个问题提供简单、干净的答案的线程。

我有下面的示例数据 - 我有两列,col1 是当前地址,col2 是我被告知比当前地址“更好”的地址。我需要看看第二列比第一列“更好”多少。大多数情况下,第二个更好 b/c 它包含第一个缺少的次要信息,例如公寓号。

test <- as.data.frame(matrix(c(
"742 Evergreen Terrace" , "742 Evergreen Terrace Apt 3" , 
"31 Spooner Street #42" , "31 Spooner Street", 
"129 W 81st Street" , "129 W 81st Street Apt 5A" , 
"245 E 73rd Street", "245 E 73rd Street Apt 6") , ncol=2, byrow=TRUE, 
dimnames=list(NULL, c("old_addr" , "new_addr"))) ,stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个接近我想要的答案: 一列中的模糊匹配行与下一列中的同一行

我需要创建第三列,它是一个简单的 1/0 变量,如果近似匹配则为 == 1,否则为 0。我需要能够为近似匹配指定阈值。

对于我的第一个示例 - 742 Evergreen Terrace 与 742 Evergreen Terrace Apt 3,长度相差 6。我需要能够指定六、八或其他的长度差异。

我查看了 …

r fuzzy-comparison lapply

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

如何按R中的降序按列对数据进行排序

我看了看,答案要么对我不起作用,要么太复杂和不必要了.

我有数据,它可以是任何数据,这里是一个例子

chickens <- read.table(textConnection("
feathers beaks
2   3
6   4
1   5
2   4
4   5
10  11                               
9   8
12  11
7   9
1   4
5   9
"), header = TRUE)
Run Code Online (Sandbox Code Playgroud)

我需要非常简单地按降序对第1列的数据进行排序.这很简单,但我发现下面有两件事情都不起作用,并给我一个错误,上面写着:

"顺序错误(var):找不到对象'var'.

他们是:

chickens <- chickens[order(-feathers),]
Run Code Online (Sandbox Code Playgroud)

chickens <- chickens[sort(-feathers),]
Run Code Online (Sandbox Code Playgroud)

我不确定我在做什么,如果我把df名字放在前面,我可以让它工作varname,但是如果我在前面加一个减号varname来暗示降序,那就行不通了.

我想尽可能简单地做到这一点,即没有布尔逻辑变量,没有这样的.一个类似于SPSS

SORT BY varname (D)

答案可能就在我面前,我为基本问题道歉.

谢谢!

r

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

将水平分位数线添加到散点图 ggplot2 R

我有下面的数据

eg_data <- data.frame(
period = c(sample( c("1 + 2"), 1000, replace = TRUE)),
max_sales = c(sample( c(1:10), 1000, replace = TRUE, prob = 
c(.05, .10, .15, .25, .25, .10, .05, .02, .02, .01)))
Run Code Online (Sandbox Code Playgroud)

我想绘制scatter( jitter,实际上) 绘图并在沿 y 轴的不同点添加水平线。我希望能够自定义添加行的百分位数,但就目前而言,R 的汇总函数之类的东西可以正常工作。

summary(eg_data$max_sales)
Run Code Online (Sandbox Code Playgroud)

我有下面的抖动图代码。它运行并生成图形,但我不断收到错误消息:

每组仅包含一个观察值。你需要调整群体审美吗?

jitter <-  (
(ggplot(data = eg_data, aes(x=period, y=max_sales, group = 1)) +
geom_jitter(stat = "identity", width = .15, color = "blue", alpha = .4)) +
scale_y_continuous(breaks= seq(0,12, by=1)) +
geom_line(stat = 'summary', fun.y = …
Run Code Online (Sandbox Code Playgroud)

r scatter-plot ggplot2 quartile

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

将行添加到数据框中,并包含组内数据的总和

我下面有一个示例数据框。

eg_data <- data.frame(
time = c("1", "1", "2","2"), 
type = c("long", "short","long", "short"), 
size=c(200,50, 500, 150 ))
Run Code Online (Sandbox Code Playgroud)

我需要创建行来汇总每个时间段的大小值。我已经查看了aggregate 和by 的组合,但我无法让它正常工作。

我尝试过的一个例子:

rbind(eg_data, data.frame(time="1 + 2", type="long", size=by(eg_data$size, 
eg_data$time=="long", sum)))   
Run Code Online (Sandbox Code Playgroud)

我希望最终数据框的示例如下:

eg_data <- data.frame(
time = c("1", "1", "2","2", "1 + 2", "1 + 2"), 
type = c("long", "short","long", "short", "long", "short"), 
size=c(200, 50, 500, 150, 700, 200))
Run Code Online (Sandbox Code Playgroud)

任何帮助都是值得赞赏的,带有基本 R 的解决方案将非常感激。

group-by r summarization

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