gpt4 book ai didi

string - SAS - 根据表中另一个变量值反转变量值的顺序

转载 作者:行者123 更新时间:2023-12-02 08:15:37 25 4
gpt4 key购买 nike

总而言之,我正在研究将文档的句子解析为单个句子。我需要这个是为了一个更大的事业。

我拥有的是一个“位置”表,它为我提供了文档 ID (ID) 和该文档中句子的句子编号 (NUM)。我还有一个列来显示解析的句子 (SENTENCE)。

所以一个示例表是:

ID NUM SENTENCE
1 3 Hello
1 2 How are you
1 1 Fine
2 2 Thank you
2 1 You're Welcome
3 1 Nice Weather

这意味着文档 1 中识别出三个句子,文档 2 中识别出两个句子,依此类推。

问题是 (ID, NUM) = (1,3) 或“Hello”,指的是文档 1 中的第三句,而 (ID, NUM) = (1, 1) 或“Fine”,指的是文档 1 中的第一句话,所有其他文档也是如此。

我想颠倒每个 ID 的 NUM 顺序,以使句子顺序更加清晰。这也是我程序的其他部分所需要的。

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

ID NUM SENTENCE
1 1 Hello
1 2 How are you
1 3 Fine
2 1 Thank you
2 2 You're Welcome
3 1 Nice Weather

对于如何执行此操作的任何帮助,我将不胜感激。

编辑:

我想更改输出以反射(reflect)输出表中句子编号的互换。句子的顺序将保持不变。因此“Hello”将表示为句子 1,而不是句子 3。

因此,我只想在输出表中的每个“ID”变量值中交换“NUM”变量。

最佳答案

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

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

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;

关于string - SAS - 根据表中另一个变量值反转变量值的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52748924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com