楼主: jgJason299
2429 17

[编程问题求助] 如何判断每个obs的五个var都至少有一个不为空 [推广有奖]

  • 0关注
  • 0粉丝

本科生

70%

还不是VIP/贵宾

-

威望
0
论坛币
542 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
372 点
帖子
31
精华
0
在线时间
174 小时
注册时间
2016-10-25
最后登录
2019-8-21

楼主
jgJason299 发表于 2017-5-3 11:08:16 |AI写论文
5论坛币
图片展示的是我的数据的样本。五种治疗方法,如果病人使用了这种方法,就打了个勾。
我现在想知道所有的8000余个病人是否每个人都至少有一种治疗方法,该如何做?
如果能够得出多少人使用了5种方法,多少人使用了4种这样的就更好啦。
数据既不是number也不是string,而是勾儿。对编程有影响吗?
谢谢大家!

捕获.PNG

最佳答案

黃河泉 查看完整内容

请(先安装 ssc install egenmore)修改:
关键词:obs VaR Number string tring 治疗方法 number 如何 样本 影响

沙发
黃河泉 在职认证  发表于 2017-5-3 11:08:17
请(先安装 ssc install egenmore)修改:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str1(A v1 v2 v3 v4 v5)
  4. "A" "v" "v" ""  ""  ""
  5. "B" ""  "v" "v" "v" "v"
  6. "C" ""  ""  "v" ""  ""
  7. "D" "v" ""  "v" ""  ""
  8. "E" "v" "v" "v" "v" "v"
  9. end

  10. egen count = rcount(v1-v5) , c(@ == "v")
复制代码

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
jgJason299 + 5 + 5 + 5 热心帮助其他会员

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
jgJason299 发表于 2017-5-9 08:47:53
黃河泉 发表于 2017-5-3 11:08
请(先安装 ssc install egenmore)修改:
谢谢您!
又有一个问题。还是这种形式的一个矩阵的数字。我想知道这个矩阵里有多少值为负数。请问程序怎么写呢?感觉和这个egenmore的ssc的功能很像。

板凳
黃河泉 在职认证  发表于 2017-5-9 09:06:36
jgJason299 发表于 2017-5-9 08:47
谢谢您!
又有一个问题。还是这种形式的一个矩阵的数字。我想知道这个矩阵里有多少值为负数。请问程序怎 ...
给个例子吧!

报纸
jgJason299 发表于 2017-5-9 09:34:51
黃河泉 发表于 2017-5-9 09:06
给个例子吧!
2
3 -9 4 4
1 2 -8 -7 6
3 3 3 4 -8
-1 5 6 6 6

地板
jgJason299 发表于 2017-5-9 09:36:35
黃河泉 发表于 2017-5-9 09:06
给个例子吧!
我是在计算了好几个var的总和之后才发现居然有一列的sum是负数的。所以想知道有没有什么办法可以直接发现一个矩阵里的所有负数。

7
黃河泉 在职认证  发表于 2017-5-9 09:51:02
jgJason299 发表于 2017-5-9 09:34
请说明一下你给的数字到底要做什么?

8
夏目贵志 发表于 2017-5-9 11:09:33
help matrix_functions看里面有没有你要的

9
jgJason299 发表于 2017-5-9 14:02:53
黃河泉 发表于 2017-5-9 09:51
请说明一下你给的数字到底要做什么?
就是想知道如何在这样的数据中得出满足一个条件的数据的个数。
求出来这样3*5个数字有多少个值<0。一眼能看出来这里有4个,具体的代码咋写呢?
感觉应该和您在楼上给我的代码类似,但不知道具体如何做。




v1
v2v3v4v5
1 2 -8 -7 6
3 3 3 4 -8
-1 5 6 6 6

10
黃河泉 在职认证  发表于 2017-5-9 14:51:33
jgJason299 发表于 2017-5-9 14:02
就是想知道如何在这样的数据中得出满足一个条件的数据的个数。
求出来这样3*5个数字有多少个值
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(v1 v2 v3 v4 v5)
  4. 1 2 -8 -7  6
  5. 3 3  3  4 -8
  6. -1 5  6  6  6
  7. end

  8. foreach i of varlist v1-v5 {
  9.   replace `i' = `i' < 0
  10. }

  11. egen v6 = rowtotal(v1-v5)
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 07:42