Reshape

wide form and long form long.dta stkcd year size 000001 2001 754 000001 2002 507 000001 2003 827 000002 2001 674 000002 2002 585 000002 2003 755 wide.dta stkcd size2001 size2002 size2003 debt2001 debt2002 debt2003 000001 754 507 827 728 970 819 000002 674 585 755 605 662 614 Reshape from wide to long 待处理的 wide form 数据集 wide.dta 如下: stkcd size2001 size2002 size2003 000001 754 507 827 000002 674 585 755 语法:reshape long stub, i(i) j(j)...

September 29, 2024

Stata课程

尝试将AI与上课结合起来,让AI来帮助老师更好地教学,让学生更好地学习。 一、基础知识 1.1 AI 与 API AI、API等名词的解释,这里不再赘述,直接进入主题。有兴趣的人,可以等搭建完之后,自己去问 大模型。 简单来说,API是一种既定的方法或规则,它允许不同的软件应用程序和系统通过特定的协议交互或交换数据,定义了软件应用程序提供或接受数据时的格式和结构。 借助API使用AI大模型好处很多,简单写几个对我最有吸引力的: 集成简便:API使得开发者和企业能够轻松集成大型模型到自己的应用程序中,不需要对大模型背后的复杂计算逻辑有深入的了解。 扩展性:通过API调用,可以无缝地将大模型的能力扩展到现有系统,从而增强这些系统的功能。 可重用性:API设计用于模块化,允许开发者重用大模型的功能和数据处理能力,这可以节省资源和开发时间。 规模和可靠性:大模型通常需要强大的后端服务和基础设施来支持。通过API,开发者可以从这些规模化的服务中受益,而无需担心基础设施的构建和维护。 1.2 API申请 跟AI相关的网站比较多,这里推荐使用SiliconCloud,因为它: 集成了多个系列的开源大模型,如括 Llama3、Mixtral、gemma-2、THUDM、Qwen、Deepseek、Yi等。(境外的开源大模型,如Meta-Llama-3.1-405B等需要实名认证,但境内的大模型则不需要) 覆盖了大模型的多个应用场景,如文本生成、向量&重排序、图片生成、视频生成、多模态大模型等。 免费额度高,模型限速非常宽松。 平台硬件基础设施强大,大规模回复速度非常快。 尽管开源大模型的质量和性能可能不如商业大模型,但对于一些小型项目和简单的问题而言,已经足够了。 感兴趣的同学,可以通过我这个邀请链接 https://cloud.siliconflow.cn/i/RSSi1aZ8 注册一下,您与我均可获赠2000万Tokens。 申请流程如下: 1. 注册账号 通过我的 邀请链接 注册 2.0 使用体验中心 登录后,也可以进入“体验中心”页面,模型分为语言模型、文生图模型和图生图模型。点击对应的“体验中心”按钮可直接使用该模型。 2.1 生成 API 在“API 密钥”页签 点击“创建新 API 密钥”,并点击复制,以在您的 API 场景中进行使用。 二、应用实践 对于API,推荐使用LobeChat项目,它是一个开源的API调用工具,使用方便,简单易学。 可直接打开我搭建的https://stata.gwkong.top 网站: 点击左上角的头像,进入应用设置选项。 在应用设置中,找到最下面的SILICONFLOW,在API Key中输入上面你自己的API密钥。 然后在模型列表中,选择你想要使用的模型。可先点击获取模型列表刷新可用模型。 这里推荐使用如下几个模型: Qwen/Qwen2-7B-Instruct 速度快,日常使用足够 Qwen/Qwen2-72B-Instruct 和 Qwen/Qwen1.5-110B-Chat,是Qwen系列里面的大模型,生成质量更好。Qwen2-72B-Instruct废话比较多,可以首选使用Qwen1.5-110B-Chat。 deepseek-ai/DeepSeek-V2-Chat和 deepseek-ai/DeepSeek-Coder-V2-Instruct,是 DeepSeek系列的模型,表现很好。特别是Coder模型,生成代码质量非常好。 01-ai/Yi-1.5-34B-Chat-16K,是Yi系列的模型,生成质量也不错。 meta-llama/Meta-Llama-3.1-405B-Instruct,是最近比较火的Llama系列的模型,生成质量很高。可惜对中文支持不够好。 选择好模型后,可点击检查,确认是否可用。 接下来,在网站主页,点击立即开始按钮就可以。 在新聊天界面,不要忘记点击大脑图标,将模型切换为可用模型,比如deepseek-ai/DeepSeek-Coder-V2-Instruct。 网站的其他功能,感兴趣的就自己慢慢摸索吧。 2.1 扣子(coze.cn)搭建 Bots 服务 在 扣子 网站搭建的一个机器人,名为Stata疑难解答,用来帮助老师和学生解决Stata中的问题。...

September 5, 2024

使用Unison同步Ubuntu与NAS

Unison 是一个强大的双向文件同步工具,适用于多种操作系统,包括 Linux、macOS 和 Windows。与 rsync 不同,Unison 专为双向同步设计,能够有效处理文件冲突和变化检测。 Unison 的主要特点 双向同步:能够在两个目录之间进行双向同步,确保两个目录内容一致。 冲突检测:自动检测文件冲突并提示用户进行处理。 跨平台:支持多种操作系统,可以在不同平台之间进行同步。 高效:只传输发生变化的文件部分,节省带宽和时间。 安全:支持通过 SSH 进行加密传输。 安装 Unison 在 Ubuntu 上,你可以通过以下命令安装 Unison: sudo apt update sudo apt install unison 在 macOS 上,可以使用 Homebrew 安装: brew install unison 在 Windows 上,可以从 Unison 官方网站 下载可执行文件。 在 NAS 上,同样从Unison 官方网站 下载可执行文件。 注意,在QNAP系统,直接复制到 /bin 文件夹下就可以。 使用 Unison 进行同步 假设你有一个本地目录 /home/user/Documents 和一个远程目录 user@192.168.1.100:/volume1/Backup/Documents,以下是使用 Unison 进行同步的基本步骤: 1. 初始同步 首次同步时,Unison 会创建一个配置文件并进行初始同步。运行以下命令: unison /home/user/Documents ssh://user@192.168.1.100//volume1/Backup/Documents -sshargs "-p 2012" /home/user/Documents 是本地目录。 ssh://user@192....

July 20, 2024

BBEdit的一些TextFilters

为了方便在BBEdit里修改文本,记录几个常用的Text Filters。 Base64 转码 #!/bin/bash # # Base64 Decode # https://gist.github.com/levigroker/aacf13e1d3f88403df214542c05483b4 # # A BBEdit Text Filter script to take textual input and produce Base64 decoded text of the # same. # See https://www.bbeditextras.org/text-filters/ # Levi Brown # @levigroker # levigroker@gmail.com # 2022-01-07 ## IN=$(tee) OUT=$(echo -n "$IN" | base64 --decode) echo -n "${OUT}" #!/bin/bash # # Base64 Encode # https://gist.github.com/levigroker/cd252cc656234dd8b19bfd4d96255a5c # # A BBEdit Text Filter script to take textual input and produce Base64 encoded text of the # same....

April 24, 2024

文本转码与Stata13

考虑到有人还会使用Stata 13处理数据,并且Stata 13尚不支持Unicode编码,在一些情况下,无法正常导入含有中文的CSV文件。因此,在这里简单写一下如何讲中文转码为可用的数据。 在这里,推荐使用 EmEditor处理文本,官网地址。一方面,软件功能多,另一方面,这一软件速度快,适合处理大型文本文档。 当然,还有很多软件都支持转码,依个人喜好自由选择即可。 首先,使用软件正常打开文本,然后选择 文件 -> 另存为… 功能: 其次,在保存文件窗口,在编码中,选择 GB2312 编码即可。在不同软件中,编码的名字有所差异,选择带有GB2312字符的即可:

April 14, 2024

Jupyter nbstata kernel

最近发现一个比较新的stata kenrel — nbstata。虽然它只支持*Stata 17+**,但较多优势使得这并不是什么缺点。具体特性可以参考nbstata主页。 虽然一个优势是Easy Setup,但是对于初次使用的,还有有一定难度的,特别是在中文环境下。因此简单记录一下从零开始的安装过程。 Python and Stata Stata 就不说了,如果这个不知道,说明用不到这个kernel,不看也无所谓。 Python 手动安装也可以。但是建议使用官方推荐的’Anaconda‘和’Miniconda’,毕竟用到Jupyter和Stata的人,肯定会涉及其他Python程序,直接安装套件得了。 Jupyter 如果使用Anaconda,会自动安装Jupyter Lab; 如果使用Miniconda,运行conda install jupyterlab安装; 如果手动安装的Python,pip 走起。 nbstata 安装nbstata 参考官网说明,直接复制粘贴就可以。 pip install nbstata python -m nbstata.install [--sys-prefix] [--prefix PREFIX] [--conf-file]

May 17, 2023

腾讯云轻量服务器端口转发

清空原有规则 # 清空所有规则 sudo iptables -F sudo iptables -t nat -F # 删除所有非系统默认的链 sudo iptables -X sudo iptables -t nat -X 添加新规则 建议使用脚本,更直观方便。 脚本来源:https://github.com/ToyoDAdoubiBackup/doubi#iptables-pfsh # 注意用`sudo`权限 wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh 腾讯轻量云添加注意事项 网卡IP 注意绑定的服务器网卡IP,应该是内网网址,而非公网网址。 开机自动加载 将规则放到/etc/iptables/里 sudo iptables-save > rules.v4 sudo cp rules.v4 /etc/iptables/rules.v4

February 8, 2023

Proxmox虚拟环境

假期赶在回家之前,搞了个魔方M600小主机。 配置还不够错1,并且还是双网口。等以后有机会了,把NAS上的服务尽量都迁移过来。 在这里,简单记录一下安装和使用Proxmox过程中的问题。 安装 安装中遇到的第一个问题,就是Proxmox 无法顺利安装。无论是7.3,7.2,还是6.x系列,开机后能进入准备界面,但是无法顺利进入安装流程。 后来才发现是Proxmox默认的GPU识别和驱动加载的问题,修改之后就能顺利安装了2。 chmod 1777 /tmp apt update apt upgrade Xorg -configure mv /xorg.conf.new /etc/X11/xorg.conf vim /etc/X11/xorg.conf # update Driver "amdgpu"-> "fbdev" <-be sure to get all instances in the case of a multi-head card which tripped me up initially. startx 使用 去掉烦人的订阅提醒 修改/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js文件,将其中的Ext.Msg.show修改为Ext.Msg.noshow即可。 注意保存备份。 VIM / VI系列软件里,可以用/进行搜索跳转。 安装 Ubuntu 虚拟机 如果配置Docker环境,还是选用虚拟机吧。之前尝试过LXC容器,但是被特权配置搞得一团糟。考虑到现在的电脑配置都不在乎这点性能差异了,索性直接上个虚拟机吧。 同时备注一下LXC 容器 安装的几个注意事项 选择创建CT按钮,设定ID,主机名和root密码。注意,为了后续挂载SMB文件夹,建议去掉无特权的容器后面的单选框。 在磁盘标签页里,将根存储设定为主硬盘。 在网络标签页里,设定固定的IPV4地址,以及网关。 容器建好之后,先去选项-功能中,勾选上SMB/CIFS功能。另外,也可以打开开机自启动。 安装的时候,注意一下设定固定的IPV4地址,其他的内容基本上默认就可以了。 进去系统安装界面时,可以设定一下代理地址、导入GiHub的用户key,这样方便后续安装和升级。 Ubuntu 系统 QEMU代理 在Proxmox VE中,qemu代理主要用于两件事:...

February 4, 2023

截屏图片处理

假期用截屏大法复制了一本只能在线看的图书,在将图片转为PDF的时候,遇到一些问题,简单做个总结。1 改变色深 convert -monochrome -transparent white RT_Pic02.jpg 123.png 如果只是为了删除白色,将白色 -> 透明,可用 convert -transparent white RT_Pic02.jpg 123.png 但是这样子会留下毛边,因此最好先改色深再透明化。 合并运行 for file in *.jpg; do newFile=$(echo $file | sed -r 's/\.jpg/\.png/g'); convert $file -monochrome -transparent white $newFile; done 提前将第一个文件复制为out.png 这一步是为了形成一个基板,将其他文件覆盖到out.png上。 cp $(ls | sed -n '1,1p') out.png 合并文件 for file in *.png; do composite $file out.png out.png ; done 根据 out.png 的信息,提取出最窄区域,并获取相应的位置信息。其中主要获取 文本区域大小、文本区域左上角坐标。 随后,根据相关信息,对原始jpg文件进行裁剪。 单页 起点:1187x85 大小:1470x2060 双页 起点:450x85 大小:2945x2060 for file in *....

January 7, 2023

搭建 ZeroTier 的 Moon 节点

安装 ZeroTier 采用官方命令安装 sudo curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi 这一命令会添加 ZeroTier 源仓库,并自动安装。最后一行会显示客户 ID。 加入现有 Network 使用如下命令加入已有网络: sudo zerotier-cli join `NetworkID` 创建 Moon 节点 使用 zerotier-idtool 工具根据 identity.public 生成的 Moon 节点配置文件 moon.json: sudo zerotier-idtool initmoon identity.public >> moon.json 这里用到的 identity.public 文件,在安装 ZeroTier 的时候会自动生成。 然后将配置文件中的 "stableEndpoints": [] 修改成 "stableEndpoints": ["ServerIP/9993"],其中 ServerIP 为云服务器的公网IP。 随后生成 .moon 文件(000000+ID.moon),并将其移动到 moons.d 目录。命令如下:...

September 25, 2022