r语言和python怎么实现n个点,每个点和其他各点求斜率

r语言和python怎么实现n个点,每个点和其他各点求斜率

问题描述:

如果现在有十个点,每个点都和其他九个点求一次斜率,一共是90个斜率,该怎么求呢
求大佬指教

python实现可参考如下:

def slope(p1,p2):
    if p1[0]==p2[0]:
        return None
    else:
        return (p2[1]-p1[1])/(p2[0]-p1[0])

p=[(0,0),(1,1),(1,2),(3,5),(5,8),(-2,3),(-1,-1),(1,-2),(2,2),(3,-1)]
from itertools import permutations
slps=[]
for (x,y) in list(permutations(p, 2)):
    slps.append(slope(x,y))
print(slps)