小编Chr*_*gel的帖子

主成分分析 - 如何获得每个参数对Prin.Comp的贡献(%).

我想知道测量/参数对计算出的主要成分之一的贡献程度.

现实世界的描述:

  1. 我有一个物种地理分布的五个气候参数
  2. 我用这五个参数进行了PCA
  3. PC1与PC2的关系图显示了一个有趣的模式

问题:如何获得每台PC的贡献百分比(每个参数)?

我的期望:PC1由参数1的30%,参数2的50%,参数3的20%,参数4的0%和参数5的0%组成.PC2由...组成

一个有5个虚拟参数的例子:

a <- rnorm(10, 50, 20)
b <- seq(10, 100, 10)
c <- seq(88, 10, -8)
d <- rep(seq(3, 16, 3), 2)
e <- rnorm(10, 61, 27)

my_table <- data.frame(a, b, c, d, e)

pca <- princomp(my_table, cor=T)

biplot(pca) # same: plot(pca$scores[,1], pca$scores[,2])

pca
summary(pca)
Run Code Online (Sandbox Code Playgroud)

我的信息隐藏在哪里?

statistics r princomp

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

PyQt4将焦点置于Widget,由MainWindow调用并设置为CentralWidget?

我想尽快将焦点放到QLineEdit上...在其他情况下(同一类中的所有小部件)它可能.setFocus()- 但这里不起作用.我的候选人.activateWindow().raise_(),但我无法弄清楚如何使用它们.

编辑:我的目标是能够直接从键盘输入QLineEdit而无需点击tab键或提前点击鼠标.

这里是相关部分的一个例子(功能):

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

class Quiz(QWidget):
    def __init__(self):
        QWidget.__init__(self)

        edit = QLineEdit("Select & Focus")
        edit.selectAll()
        edit.setFocus()             # doesn't work - no effect at all

        vbox = QVBoxLayout()
        vbox.addWidget(edit)
        self.setLayout(vbox)


class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)

        startQuiz = QAction("Start Quiz", self)
        startQuiz.triggered.connect(self.startQuizQuestions)

        menubar = self.menuBar()
        quizMenu = menubar.addMenu("&Quiz")
        quizMenu.addAction(startQuiz)

        self.setGeometry(300, 300, 500, 400)
        self.setWindowTitle("xyz")
        self.show()

    def startQuizQuestions(self):
        newQuiz = Quiz()
        self.setCentralWidget(newQuiz)


def main():
    app …
Run Code Online (Sandbox Code Playgroud)

user-interface pyqt4 python-3.x qt5

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

JS计算2d数组中相同元素的平均值

我有一个由两列表示为数组的"表".第一列是1到20的数字,它们是标签,第二列是相应的值(秒):

my_array = [ [ 3,4,5,3,4,5,2 ],[ 12,14,16,11,12,10,20 ] ];
Run Code Online (Sandbox Code Playgroud)

我需要每个标签的平均值(平均值):

my_mean_array = [ [ 2,3,4,5 ],[ 20/1, (12+11)/2, (14+12)/2, (16+10)/2 ] ];
// edit: The mean should be a float - the notion above is just for clarification.
// Also the number 'labels' should remain as numbers/integers.
Run Code Online (Sandbox Code Playgroud)

我的尝试:

var a = my_array[0];
var b = my_array[1];
m = [];
n = [];
for( var i = 0; a.length; i++){
    m[ a[i] ] += b[i]; // accumulate the values in …
Run Code Online (Sandbox Code Playgroud)

javascript

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

OOP tkinter:如何设置焦点(和添加文本)进入?

在重构工作程序代码之后,我无法将重点放在工作上.因为它之前我可能搞乱了类的东西.

import tkinter as tk
from tkinter import ttk

LARGE_FONT = ("Verdana", 14)
ANSWER_FONT = ("Verdana", 20, "bold")

class myApp(tk.Tk):

    def __init__(self, *args, **kwargs):

        tk.Tk.__init__(self, *args, **kwargs)

        container = ttk.Frame(self)
        container.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}
        for F in [StartPage, PageOne]:
            frame = F(container, self)
            self.frames[F] = frame
            frame.grid(row=0, column=0, sticky="nsew")

        self.show_frame(StartPage)

    def show_frame(self, cont):

        frame = self.frames[cont]
        frame.tkraise()


class StartPage(ttk.Frame):

    def __init__(self, parent, controller):

        ttk.Frame.__init__(self, parent)

        label = ttk.Label(self, text="StartPage", font=LARGE_FONT)
        label.pack(padx=10, pady=10)

        but_1 = …
Run Code Online (Sandbox Code Playgroud)

python oop tkinter python-3.x

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

标签 统计

python-3.x ×2

javascript ×1

oop ×1

princomp ×1

pyqt4 ×1

python ×1

qt5 ×1

r ×1

statistics ×1

tkinter ×1

user-interface ×1