小编use*_*648的帖子

SAS在多个数据集上查找平均值

我有几个数据集,每个数据集具有相同的结构,我想找到表格的每个单元格中的平均值.

例如.假设我有三个表,每个表有3行(AC)和2列(1-2),如何计算这些单元格的平均值?

  1 2    1 2    1 2
A 2 1  A 0 1  A 4 1
B 9 0  B 0 2  B 0 1
C 1 5  C 2 2  C 3 2
Run Code Online (Sandbox Code Playgroud)

结果将是:

  1 2
A 2 1
B 3 1
C 2 3
Run Code Online (Sandbox Code Playgroud)

average sas

3
推荐指数
1
解决办法
451
查看次数

更改ggplot堆积区域图中的堆叠顺序

我有以下数据:

df <- as.data.frame(c(rep(1,3),rep(2,3),rep(3,3)))
names(df) <- "cont_var"
df$factor_var <- as.factor(rep(c("fac1","fac2","fac3"),3))
df$prop <- c(10,20,70,20,30,50,25,40,35)
Run Code Online (Sandbox Code Playgroud)

"factor_var"的级别为:

> levels(df$factor_var)
[1] "fac1" "fac2" "fac3"
Run Code Online (Sandbox Code Playgroud)

我使用以下内容制作堆积区域图:

library(ggplot)
ggplot(df, aes(x=cont_var, y=prop, fill=factor_var)) +
  geom_area(colour="black",size=.2, alpha=.8) +
  scale_fill_manual(values=c("blue", "grey", "red"))
Run Code Online (Sandbox Code Playgroud)

返回以下结果: 在此输入图像描述

图例显示"factor_var"按照之前看到的级别排序,但区域没有以相同的顺序堆叠.如何在底部生成红色然后灰色然后蓝色堆叠在顶部的输出,如图例中的情况?

(注意:这是我需要的顺序(factor_var是一个有序变量),出于美学原因,它不仅仅是将堆叠与图例顺序相匹配的情况.)

编辑:所需结果如下所示

在此输入图像描述

解决方案

需要重新排序数据帧才能创建所需的结果:

newdata <- df[order(df$cont_var, df$factor_var),]
Run Code Online (Sandbox Code Playgroud)

非常感谢你的帮助.

r ggplot2 r-factor

3
推荐指数
1
解决办法
4327
查看次数

格式化目录中未编号的章节

我有一个文档,其中包含编号和未编号的章节。为了在 TOC 中将它们彼此区分开来,我希望未编号的章节使用斜体。我的 MWE 处理章节标题 - 如何以斜体格式设置相应的页码?

另外,是否可以将第 1 部分条目居中?

\documentclass[a4paper, 12pt]{report}

\usepackage[titles]{tocloft}

\begin{document}
\tableofcontents

\part{Part 1}

\chapter{Numbered chapter}

\chapter*{Unnumbered chapter}
\addcontentsline{toc}{chapter}{\textit{Unnumbered chapter}}

\end{document}
Run Code Online (Sandbox Code Playgroud)

latex tableofcontents

3
推荐指数
1
解决办法
1600
查看次数

Excel到csv文件转换 - 保存小数点后的数字

当使用Excel中的"另存为..."将xls文件转换为csv文件(然后将其导入R)时,csv输出文件系统地删除小数点后的所有数字,例如1.0524变为1,5.213变为5并且等等.

如何防止这种情况明显导致大量数据条目的准确性问题?

谢谢

csv excel

2
推荐指数
1
解决办法
3783
查看次数

将文本文件导入SAS

我正在使用以下代码将文本文件导入SAS:

proc import datafile="C:\Users\Desktop\data.txt" out=Indivs dbms=dlm replace;
 delimiter=';';
   getnames=yes;
run;
Run Code Online (Sandbox Code Playgroud)

但是,我在日志中收到错误消息,并且某些字段填充了".".代替真实数据,我不知道是什么问题.

错误消息是:

Invalid data for DIPL in line 26 75-76.
Invalid data for DIPL in line 28 75-76.
Invalid data for DIPL in line 31 75-76.
Invalid data for DIPL in line 34 75-76.
Run Code Online (Sandbox Code Playgroud)

这里有一个数据样本http://m.uploadedit.com/b029/1392916373370.txt

sas

2
推荐指数
1
解决办法
3万
查看次数

强制 step() 保持一定的有价值

我正在使用step()找到一个模型来根据其他变量调整分数。因此,我的完整模型是:

mod<-lm(Adjusted.score ~ original.score + X1 + X2 + X3 + ... + X10)
Run Code Online (Sandbox Code Playgroud)

我需要original.score在最终模型中保留变量但step()总是忽略它是合乎逻辑的。有没有办法强制step()保留变量original.score并找到伴随它的其他变量的最佳组合?

r linear-regression

2
推荐指数
1
解决办法
3883
查看次数

SAS拆分/合并文件分成两个单独的文件

我有2个文件,一个主文件("主")和一个ID列表("列表").我想将主文件分成两个子集:A - 包含文件"list"中具有ID的观察,B - 包含不具有不在文件"list"中的ID的观察.例如 :

MASTER:
ID     Colour
1      Red
2      Yellow
3      Blue
4      Green
5      Purple
6      Orange
7      Black
8      White

LIST:
ID
1
2
3
Run Code Online (Sandbox Code Playgroud)

因此,

A:
ID     Colour
1      Red
2      Yellow
3      Blue

B:
ID     Colour
4      Green
5      Purple
6      Orange
7      Black
8      White
Run Code Online (Sandbox Code Playgroud)

因此,我最终会在A +数字中阻塞数字障碍物B =数字障碍物在"主人"中

if必须在下面的文件中添加什么条件才能实现此目的?(示例非常简单,实际上我有超过7万个唯一ID)

data A;
merge master (in=a) list (in=b);
if a=? and b=?;
by ID;
run;

data b;
merge master (in=a) list (in=b); …
Run Code Online (Sandbox Code Playgroud)

merge sas subset

1
推荐指数
1
解决办法
234
查看次数

计算分组行之间的最大差异

我有以下数据,其中家庭中的人按年龄排序(从最老到最年轻):

data houses;             
input HouseID PersonID Age;       
datalines;              
1 1 25                    
1 2 20                   
2 1 32
2 2 16
2 3 14
2 4 12
3 1 44
3 2 42
3 3 10
3 4 5
;
run;
Run Code Online (Sandbox Code Playgroud)

我想为每个家庭计算连续老年人之间的最大年龄差异.因此,该示例将连续为家庭1,2和3给出5(= 25-20),16(= 32-16)和32(= 42-10)的值.

我可以使用大量合并(即提取人1,与人2的提取物合并,等等)来做到这一点,但由于家庭中可能有多达20多人,我正在寻找更直接的方法.

sas

1
推荐指数
1
解决办法
174
查看次数

分组条形图自定义颜色

我有以下数据,并希望创建一个分组的条形图,如下所示:

data<-as.data.frame(c("a","b","c","a","b","c"))
colnames(data)<-"Y"

data$X<-c("x","x","x","y","y","y")

data$Z<-c(1,2,3,1,2,3)

ggplot(data, aes(x=X, y=Z, fill=Y) +
  geom_bar(stat="identity", colour="black", position="dodge", size=0.25, width=0.8, alpha=0.8) +
  scale_fill_manual(values=c("red","red","red","blue","blue","blue"))
Run Code Online (Sandbox Code Playgroud)

在代码的最后一行中,我希望更改条形的颜色-我希望组“ x”的所有条都被染成红色,而组“ y”的条被染成蓝色。但是,如以下结果所示,我无法使用进行操作scale_fill_manual在此处输入图片说明

r colors ggplot2 geom-bar

1
推荐指数
1
解决办法
3371
查看次数

R是逻辑不连贯

我想基于ifs和elses使用isTRUE并且遇到困难来编写一个新的变量.我想有一个条件,如

if (isTRUE(t$a > t$b)) {
  t$c <- 0
} else if (isTRUE(t$a < t$b)) {
  t$c <- 1
} else {
  t$c <- 2
}
Run Code Online (Sandbox Code Playgroud)

请考虑以下数据:

t<-as.data.frame(c(1:5))
names(t)<-"a"
t$b<-c(5:1)
Run Code Online (Sandbox Code Playgroud)

运行上述代码给出C值一如既往为2即isTRUE(t$a > t$b)isTRUE(t$a < t$b)总是FALSE.

if-statement r

1
推荐指数
1
解决办法
106
查看次数

SAS宏输出文件命名约定

我有一个sas宏,它依赖于两个不同的变量,分别用AgeYear表示.&Age&Year

我想为15-18岁和2007-2010年的每个组合运行宏,并希望为这些组合中的每一个创建一个输出表(即总共16个表).

这是我的问题,我尝试在Matrix_pop_adm&Age_RP&YearSAS不喜欢的宏中给输出表以下名称.

如何正确命名输出文件?

filenames sas sas-macro

0
推荐指数
1
解决办法
127
查看次数