我在R中相当新,对R中的if()语句有疑问.非常感谢任何帮助.我的数据如下所示
Var1 var2
01 A
02 D
03 E
04 K
Run Code Online (Sandbox Code Playgroud)
我需要根据var1创建2个附加变量(Var3和Var4).在SAS中,我将以下列方式创建var3和var4:
if var1 = 01 then do; var3 = "New York"; var4= "NYC"; end; else;
if var1 = 02 then do; var3 = "Illinois"; var4= "ORD"; end; else;
if var1 = 03 then do; var3 = "Texas"; var4= "DFW"; end; else;
if var1 = 04 then do; var3 = "New Jersey"; var4= "EWR"; end; else;
Run Code Online (Sandbox Code Playgroud)
我想将上面的if语句转换为R程序.任何帮助是极大的赞赏.
我有一个包含100个sas数据集的文件夹.我需要创建一个新表,它有两列(数据集名称,已排序/未排序).
我知道proc内容可以用来检查排序的条件,但有没有办法以编程方式对所有100个数据集进行检查并将结果返回到一个表中?
我有一个问题要创建一个新变量.我有几个变量名为A,B,C,D,E,F,G.所有变量都是0/1二进制变量.所以我想创建一个新变量,显示任何3或更多等于1的变量.
例如,
new_variable =0;
if ANY 3 or more variables(A,B,C,D,E,F,G) =1 then new_variable =1;
Run Code Online (Sandbox Code Playgroud) 当我运行宏"quantplot"时,我遇到了图片中显示的问题:
图片错误.
基本上似乎正在发生的事情是,这种形式的表达式recode_&variable,out_和variables等都没有返回正确的值.它只是将其读作recode_并忽略宏变量.
我为示例数据提供了以下代码:
data test (drop=i);
do i=1 to 1000;
a=round(uniform(1)*4,.01);
b=round(uniform(1)*10,.01);
c=round(uniform(1)*7.5,.01);
u = rand("Uniform");
y=floor( (2)*u );
output;
end;
stop;
run;
%macro percentiles(indep_var=,num_groups=);
%let recodes=recode_%sysfunc(tranwrd(&indep_var,%str( ),%str( recode_)));
proc rank data=test out=test groups=7;
var &indep_var;
ranks &recodes;
run;
%mend;
%percentiles(indep_var=a b c);
Run Code Online (Sandbox Code Playgroud)
还有目前无效的宏代码.请帮忙!
/*Plots to determine functional form for quantitative variables*/
%macro quantplot(indep_var=,dep_var=);
/* Count the number of words in the input */
%let count=%sysfunc(countw(&indep_var));
/* Loop through the total number of values */
%do i = …Run Code Online (Sandbox Code Playgroud) 任何人都可以分享一个必须从 sas7bdat 或 xpt 文件读取元数据的代码吗?我有在 sas7bdat 库的帮助下用 python 读取数据的代码,但无法弄清楚如何从同一文件中获取元数据。
我有一组数据如下.我需要排除基于MODEL的'计数<100'的第一行.一旦计数> 100,无论计数> 100还是<100,都将保留以下行.
|Make |Model |SoldMonth|Counts|
|ford |class_c |Jan_2015 |80 |
|ford |class_c |Feb_2015 |90 |
|ford |class_c |Mar_2015 |70 |
|ford |class_c |Apr_2015 |120 |
|ford |class_c |May_2015 |130 |
|ford |class_c |Jun_2015 |50 |
|ford |class_c |Jul_2015 |70 |
|ford |class_c |Aug_2015 |140 |
|ford |class_c |Sep_2015 |110 |
|ford |Maxi |Jan_2015 |20 |
|ford |Maxi |Feb_2015 |50 |
|ford |Maxi |Mar_2015 |80 |
|ford |Maxi |Apr_2015 |120 |
|ford |Maxi |May_2015 |130 |
|ford |Maxi |Jun_2015 |110 …Run Code Online (Sandbox Code Playgroud)