我有几个数据集,每个数据集具有相同的结构,我想找到表格的每个单元格中的平均值.
例如.假设我有三个表,每个表有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) 我有以下数据:
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)
非常感谢你的帮助.
我有一个文档,其中包含编号和未编号的章节。为了在 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) 当使用Excel中的"另存为..."将xls文件转换为csv文件(然后将其导入R)时,csv输出文件系统地删除小数点后的所有数字,例如1.0524变为1,5.213变为5并且等等.
如何防止这种情况明显导致大量数据条目的准确性问题?
谢谢
我正在使用以下代码将文本文件导入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)
我正在使用step()找到一个模型来根据其他变量调整分数。因此,我的完整模型是:
mod<-lm(Adjusted.score ~ original.score + X1 + X2 + X3 + ... + X10)
Run Code Online (Sandbox Code Playgroud)
我需要original.score在最终模型中保留变量但step()总是忽略它是合乎逻辑的。有没有办法强制step()保留变量original.score并找到伴随它的其他变量的最佳组合?
我有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) 我有以下数据,其中家庭中的人按年龄排序(从最老到最年轻):
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多人,我正在寻找更直接的方法.
我有以下数据,并希望创建一个分组的条形图,如下所示:
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。

我想基于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.
我有一个sas宏,它依赖于两个不同的变量,分别用Age和Year表示.&Age&Year
我想为15-18岁和2007-2010年的每个组合运行宏,并希望为这些组合中的每一个创建一个输出表(即总共16个表).
这是我的问题,我尝试在Matrix_pop_adm&Age_RP&YearSAS不喜欢的宏中给输出表以下名称.
如何正确命名输出文件?