CAR值计算中的转置问题

在car计算中,我们得到的结果常常是 long 纵向排列的,有时我们也想横向排列一下,也是可以的,在 STATA中使用 reshape 就能够办到。

clear all
set more off

*----- example data -----

input ///
firm    str7 month_year    sales    str3 competitor   str3 competitor_location  str3 competitor_branch_1       str3 competitor_branch_2
  1       "1_2014"    25          "XYZ"            "US"                     "EEE"                      "RRR"
  1       "2_2014"    21          "XYZ"            "US"                    "FFF"
  1       "2_2014"    21          "ABC"            "UK"                     "GGG"
  21     "1_2009"    11          "LKS"           "UK"                      "AAA"
  21     "1_2009"    11          "AIS"            "UK"                      "BBB"
  21     "1_2009"    11          "AJS"            "US"                      "CCC"
  21     "2_2009"    12          "LKS"            "UK"                      "AAA"
end

encode competitor, gen(comp)
encode competitor_location, gen(comploc)
encode competitor_branch_1, gen(compbr1)
encode competitor_branch_1, gen(compbr2)

gen date = ym( real(substr(month_year,3,.)), real(substr(month_year,1,1)) )
format date %tm

drop competitor* month*

list
*----- what you want ?? -----

bysort firm: gen j = _n // this sorting is not unique

reshape wide date sales comp comploc compbr1 compbr2, i(firm) j(j)

  

use "D:\results-0422\want01_zhuban_03day.dta", clear

*如果你不想显示那么多变量的话,可以提前 drop掉 不想见到的变量.

bysort firm: gen j = _n 

reshape wide date ret  mktret ar evtday, i(firm) j(j)

  

原文地址:https://www.cnblogs.com/jungsee/p/8906686.html

时间: 2024-10-16 06:43:16

CAR值计算中的转置问题的相关文章

超级电容的容值计算(转)

源:超级电容的容值计算 最近在忙着设计一些硬件电路,其中就用到了超级电容.网上给出的超级电容的计算公式是: 其中U1是超级电容的初始电压,U2是超级电容的最低电压(系统能接受的最低电压):I是期间的电流,t是U1变为U2的整个放电时间.^2表示平方.说实话,我上次就是用这个公式设计的超级电容容量,可是系统没能很好的工作,于是我对这个公式产生了怀疑,严重怀疑它是假冒的.于是自己证明了一下,想着做嵌入式的朋友们都会用,就拿来和大家分享. 电容的储能公式是: C是电容的容量,U是电容两端极板的电压.

ARM中跳转指令BL/BLX偏移值计算规则

4字节对齐arm指令 ????规则:偏移=( 跳转地址-(指令地址+8) )/4 原因: 指令地址 + 8:因为ARM的流水线使得指令执行到当前指令处时,PC实际的值是A+8. 跳转指令 - 上一步得到地址:得到跳转指令与当前PC处的差值. ÷4:因为ARM的指令是4对齐的,即最低两位为00,于是将这个值右移两位. ? 执行时: 取出偏移,左移两位,加入PC,这时PC的值刚好为目标处的地址值,即目标地址指令进入取值,流水线前两级被清空. ? 实例测试: .text:0000126C 90 00

js如何实现把文本框中的值计算之后回写到文本框中

<script type="text/javascript"> function cal(){ /* int value1 = document.getElementByName("subjectCount"); int value2 = document.getElementByName("subjectScore"); int value3 = value1*value2; <%@ page language="j

python预课04 列表,元祖,统计值计算示例,爬虫初步学习( 编辑中)

列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l1.remove("高弟弟") #删除"高弟弟"元素 l1.pop(3) #删除列表第4个元素 del l1[-1] #删除列表最后一个元素 #改 l1[3] = 'DSB' #修改第4个元素为'DSB' #查 l2 = [2, 5, 4, 8, 6, 1, 4, 5,

numpy中矩阵转置

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit ( Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> a = num

SQL Server中行列转置方法

PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法: table_source PIVOT( 聚合函数(value_column) FOR pivot_column IN(<column_list>) ) UNPIVOT用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现 完整语法: table_sou

飞控姿态解算中,欧拉角与四元数之间的转换

//欧拉角转四元数 void cjx_from_euler(float roll, float pitch, float yaw) { float cr2 = cosf(roll*0.5f); float cp2 = cosf(pitch*0.5f); float cy2 = cosf(yaw*0.5f); float sr2 = sinf(roll*0.5f); float sp2 = sinf(pitch*0.5f); float sy2 = sinf(yaw*0.5f); q1 = cr2

hive---数值计算详解

1. 取整函数: round 语法: round(double a) 返回值: BIGINT 说明: 返回double类型的整数值部分(遵循四舍五入) 举例: hive> select round(3.1415926) from lxw_dual; 3 hive> select round(3.5) from lxw_dual; 4 hive> create table lxw_dual as select round(9542.158) fromlxw_dual; hive> d

【小松教你手游开发】【unity实用技能】线性差值计算实现

其实这个unity本身就有的函数Mathf.Lerp(),为什么还要自己实现呢. 有一个原因就是这个函数返回的是float型,float型如果数字非常大,转出int时会有精度丢失,也就是转出来的值不对. 而且非常简单. 看下公式 public int Lerp(int a,int b,int v) { return (int)(a - (0 - v) / (0 - 1) * (a - b)): } 原文地址:http://blog.51cto.com/13638120/2084965