我有一个与下面的示例类似的网络数据。它仅具有用户和二进制值,用于表明该用户是否点击了网站内的特定链接。我想对这些数据进行一些聚类。我的主要目标是根据用户的在线行为找到相似的用户。对此有什么好的聚类算法?我尝试过 k-means,它不适用于二进制数据。我也尝试过球形 k-means skmeans()。我想做一个平方误差屏幕图,但我不知道如何从 skmeans 获取 SSE。
User link1 link2 link3 link4
abc1 0 1 1 1
abc2 1 0 1 0
abc3 0 1 1 1
abc4 1 0 1 0
Run Code Online (Sandbox Code Playgroud) 这个问题可能以前已经回答过,但我似乎找不到答案。您如何bind_rows()仅union使用两个表而忽略列名。
上的文档bind_rows()有以下示例:
#Columns don't need to match when row-binding
bind_rows(data.frame(x = 1:3), data.frame(y = 1:4))
Run Code Online (Sandbox Code Playgroud)
这将返回列x和y。如何在不必更改列名的情况下只返回单个列?
所需的输出,我真的不在乎列名最终是什么:
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 R 中绘制一个图。我的 x 轴是转换为因子的周数,而我的 y 轴是一个数量。
当我跑plot()而不是点时,我会得到水平线。
为什么会发生这种情况?
这是一个示例数据集:
df <- data.frame(fin_week=as.factor(seq(1,20, by =1)), amount=(rnorm(20)^2)*100)
plot(df)
Run Code Online (Sandbox Code Playgroud) 我第一次尝试使用 grid.table。
这些表格一直在绘图窗口中的内容之上绘制。换句话说,它不会创建新的 Plot 显示,它只是将它添加到已有的内容上。
有没有办法强制它使用新的绘图窗口?
library(grid)
d <- head(iris[,1:3])
plot(d)
grid.table(d)
Run Code Online (Sandbox Code Playgroud)
我正在尝试重新创建一个用 seaborn 制作的图,distplot但使用displot, 因为distplot正在折旧。
如何使displot两列重叠?
这是使用以下命令创建的原始代码distplot:
import pandas as pd
import numpy as np
import seaborn as sns
df1 = pd.DataFrame({'num1':np.random.normal(loc=0.0, scale=1.0, size=100),'num2':np.random.normal(loc=0.0, scale=1.0, size=100)})
sns.distplot(df1['num1'],hist=False,color='orange',)
sns.distplot(df1['num2'],hist=False,color='blue')
Run Code Online (Sandbox Code Playgroud)
这是使用绘图的代码displot
sns.displot(data = df1, x = 'num1',color='orange', kind = 'kde')
sns.displot(data = df1, x = 'num2',color='blue', kind = 'kde')
Run Code Online (Sandbox Code Playgroud)