谁能告诉我如何从多个向量中找到共同元素?
a <- c(1,3,5,7,9)
b <- c(3,6,8,9,10)
c <- c(2,3,4,5,7,9)
Run Code Online (Sandbox Code Playgroud)
我想从上面的向量中得到共同的元素(例如:3和9)
我经常使用plot命令在R中做各种散点图.
有时两者,有时只有一个绘图轴用科学记数法标记.我不明白何时R决定改用科学记数法.令人惊讶的是,它通常会在标记绘图时打印出人类不会用科学记数法书写的数字,例如它将5标记为5e + 00.假设您的对数轴上升到1000,科学符号与这样的"小"数字是不合理的.
我想抑制那种行为,我总是希望R显示整数值.这可能吗?
我尝试options(scipen=10)但是它开始写5.0而不是5,而在另一个轴5仍然是5等.我怎样才能在我的R图中有纯整数值?
我在Windows 7上使用R 2.12.1.
cbind(1:2, 1:10)
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 1 3
[4,] 2 4
[5,] 1 5
[6,] 2 6
[7,] 1 7
[8,] 2 8
[9,] 1 9
[10,] 2 10
Run Code Online (Sandbox Code Playgroud)
我想要一个像下面这样的输出
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 3
[4,] 4
[5,] 5
[6,] 6
[7,] 7
[8,] 8
[9,] 9
[10,] 10
Run Code Online (Sandbox Code Playgroud) 想象我有一个3列矩阵
x,y,z,其中z是x和y的函数.
我知道如何绘制这些点的"散点图"
plot3d(x,y,z)
但是,如果我想要一个表面,我必须使用其他命令,如surface3d问题是它不接受与plot3d相同的输入它似乎需要一个矩阵与
(nº elements of z) = (n of elements of x) * (n of elements of x)
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到这个矩阵?我尝试使用命令interp,就像我需要使用等高线图时一样.
如何在不计算此矩阵的情况下直接从x,y,z绘制曲面?如果我的分数太多,那么这个矩阵就太大了.
干杯
我有一个上面格式的数据文件.
我把它加载到R中,并尝试使用dist列中的值绘制直方图,我得到错误"x必须是数字".因此我尝试更改格式.
> head(data)
V1 V2
1 type gene_dist
2 A 64667
3 A 76486
4 A 97416
5 A 30876
6 A 88018
> summary(data)
V1 V2
A : 67 100 : 1
B :122 100906 : 1
type: 1 102349 : 1
1033 : 1
10544 : 1
10745 : 1
(Other):184
Run Code Online (Sandbox Code Playgroud)
我尝试使用列设置格式,sapply但值已更改:
> data[,2]<-sapply(data[,2],as.numeric)
> head(data)
V1 V2
1 type 190
2 A 146
3 A 166
4 A 189
summary(data)
V1 V2
A : …Run Code Online (Sandbox Code Playgroud) 我在一个txt文件中有一个R程序说"functions.txt".
我加载"functions.txt"使用文件将R source("function.txt")
,然后调用函数f1(),f2()等,其被声明和内定义
"function.txt"文件.在
使用library()之前我还需要加载几个R库f1(),f2()等等.
我的问题是,如果不打开R环境,我可以从Windows提示符中实现所有这些(即调用函数f1()和f2())吗?
所以基本上我想
f1(),f2()等等.function.txt文件所有来自windows的命令promt c:\>
我在我的电脑上安装了Windows版本的R.
由于我不是非常精通计算机,所以任何人都可以给出详细的答案.
问候
我已经看到在R邮件列表上多次询问这个问题,但仍然找不到满意的答案.
假设我是一个矩阵 m
m <- matrix(rnorm(10000000), ncol=10)
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式获得每行的平均值:
system.time(rowMeans(m))
user system elapsed
0.100 0.000 0.097
Run Code Online (Sandbox Code Playgroud)
但是获得每行的最小值
system.time(apply(m,1,min))
user system elapsed
16.157 0.400 17.029
Run Code Online (Sandbox Code Playgroud)
需要的时间超过100倍,有没有办法加快速度?
我一直在寻找一堆不同的软件包,我注意到确实没有一个简洁明了的函数存储方法.一些包作者将所有这些包装在一个文件中,而其他作者将它们分成单个文件.
我已阅读了许多软件包创建指南,但没有提供具体的指导或建议.
很想听听你对此的看法.
我有文件名<InputData>.<TestName>.csv,我想为每个测试制作图表.我能看到的最好方法是为每个TestName创建一个R表.每个测试都会生成相同的数据列,因此我想将每个测试的所有数据都拉入一个R数据表,并为输入数据添加一列.
我想这样做:
read.tables(c("B217.SE.csv", "C10.SE.csv"), sep=",")
Run Code Online (Sandbox Code Playgroud)
产生(例如):
Filename col1 col2
1 B217.SE.csv 1 2
2 B217.SE.csv 2 4
3 C10.SE.csv 3 1
4 C10.SE.csv 4 5
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?我不知道的一些现有功能?使用for循环在R语言中写出来?
为了弄清楚我在问什么,我创造了一个简单的例子.第一步是创建一些数据:
gender <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),labels = c("male", "female"))
numberofdrugs <- rpois(84, 50) + 1
geneticvalue <- rpois(84,75)
death <- rpois(42,50) + 15
y <- data.frame(death, numberofdrugs, geneticvalue, gender)
Run Code Online (Sandbox Code Playgroud)
所以这些是一些随机日期合并为一个data.frame.因此,从这些日期开始,我想绘制一个云,我可以在男性和女性之间进行区分,并在其中添加两个简单的回归(一个用于女性,一个用于男性).所以我已经开始了,但我无法达到我想要的程度.请看下面到目前为止我做了什么:
require(lattice)
cloud(y$death~y$numberofdrugs*geneticvalue)
Run Code Online (Sandbox Code Playgroud)

xmale <- subset(y, gender=="male")
xfemale <- subset(y, gender=="female")
death.lm.male <- lm(death~numberofdrugs+geneticvalue, data=xmale)
death.lm.female <- lm(death~numberofdrugs+geneticvalue, data=xfemale)
Run Code Online (Sandbox Code Playgroud)
如何在使用云命令时为男性或女性制作不同的点(例如蓝色和粉红色点而不仅仅是蓝色十字),如何将两个估计模型添加到云图中?
任何想法都表示赞赏!谢谢你的想法!