最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

SAS

运维笔记admin32浏览0评论

SAS

SAS

本文介绍了SAS - 基于表中另一个变量值的变量值的反转顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

总而言之,我正在将文档的句子解析为单个句子.我需要这个有一个更大的原因.

To summarize, I am working on parsing sentences of documents into single sentences. I need this for a bigger cause.

我有一个表格'Position',它给了我文档ID(ID)和该文档中句子的句子编号(NUM).我还有一列显示解析后的句子(SENTENCE).

What I have is a table 'Position' which gives me the document id (ID) and the sentence number of a sentence in that document (NUM). I also have a column to display the sentence parsed (SENTENCE).

所以一个示例表是:

ID NUM SENTENCE1 3 Hello1 2 How are you1 1 Fine2 2 Thank you2 1 You're Welcome3 1 Nice Weather

这意味着文档 1 中标识了三个句子,文档 2 中标识了两个句子,依此类推.

What this means is that there were three sentences identified in document 1, two in document 2 and so on.

问题是(ID, NUM) = (1,3) or "Hello",指的是文档1中的第三句,而(ID, NUM) = (1, 1) or "Fine",指的是到文档 1 中的第一句话,所有其他文档也是如此.

The problem is that (ID, NUM) = (1,3) or "Hello", refers to the third sentence in document 1, and (ID, NUM) = (1, 1) or "Fine", refers to the first sentence in document 1,and that's how the pattern continues for all other documents as well.

我想颠倒每个 ID 的 NUM 顺序,以便更清楚地说明句子顺序.这也是我的程序的其他部分所需要的.

I'd like to reverse the order of NUM per ID, to give better clarity of the sentence order. This is also needed for feeding into other parts of my program.

基本上,我希望我的输出表看起来像:

Essentially, I'd like my output table to look like:

ID NUM SENTENCE1 1 Hello1 2 How are you1 3 Fine2 1 Thank you2 2 You're Welcome3 1 Nice Weather

我将非常感谢有关如何执行此操作的任何帮助.

I would greatly appreciate any assistance on how to perform this.

我想更改输出以反映输出表中句子编号的互换.句子的顺序将保持不变.这就是你好"将被表示为句子 1,而不是 3.

I would like to change the output to reflect the interchanging of sentence numbers in the output table. The order of the sentences would remain the same. This is so 'Hello' would be represented as sentence 1, as opposed to 3.

因此,我只希望在输出表中的每个ID"变量值内交换NUM"变量.

So hence, I would like only the 'NUM' variable interchanged within each 'ID' variable value in the output table.

推荐答案

proc sort data=position; by ID NUM;run;

我想我误解了这个问题.你真正想要的是:

I think I misunderstood the question. What you really want is:

proc sort data=position; by ID descending NUM;run;data want (rename=(new_NUM=NUM)); set position (drop=NUM); by ID; if first.ID then new_NUM = 1; output; new_NUM + 1;run;

SAS

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论