我仍然试图利用循环在R中绘图.我想根据列x_1中的不同名称绘制(任何可以将数据可视化的绘图)列z_1对应于下面数据框中的z_2.
x_1 <- c("A1", "A1","A1", "B10", "B10", "B10","B10", "C100", "C100", "C100")
z_1 <- rnorm(10, 70)
z_2 <- rnorm(10, 1.7)
A <- data.frame(x_1, z_1, z_2)
Run Code Online (Sandbox Code Playgroud)
因此,我想最终得到三个不同的情节; 一个用于A1类,一个用于B10,另一个用于C100.我可以使用三个不同的代码执行此操作,但我希望能够使用循环或任何其他单个代码在同一页面上执行所有三个绘图.实际上,我有一个大型数据集(4,000行),并希望在页面上绘制几个ID(比如页面上的5个).
我希望这是有道理的.谢谢你的帮助.
这是我尝试单独绘制它们:
对于A1:
data_A1 <- A[which(A$x_1 == "A1"), ]
plot(data_A1$z_2, data_A1$z_1)
Run Code Online (Sandbox Code Playgroud)
我也试过这样的东西,但收到错误信息
for ( i in A$x_1[[i]]){
plot(A[which(A$x_1==A$x_1[[i]]), ], aspect = 1)
}
Run Code Online (Sandbox Code Playgroud) 我有一个大约1000个单整数的列表.我需要能够进行一些数学计算,但它们会被列入列表或字符形式.如何切换它们以便它们可用?
样本数据:
> y [[1]]
[1] "7" "3" "1" "6" "7" "1" "7" "6" "5" "3" "1" "3" "3" "0" "6" "2" "4" "9"
[19] "1" "9" "2" "2" "5" "1" "1" "9" "6" "7" "4" "4" "2" "6" "5" "7" "4" "7"
[37] "4" "2" "3" "5" "5" "3" "4" "9" "1" "9" "4" "9" "3" "4" "9" "6" "9" "8"
[55] "3" "5" "2" "0" "3" "1" "2" "7" "7" "4" "5" "0" "6" "3" "2" "6" "2" …Run Code Online (Sandbox Code Playgroud) 我想x用另一个vector(y)中的值替换vector()中的值.捕获22:方法需要是动态的,以适应向量中不同数量的"级别" x.例如,考虑矢量x
x <- sample(c(1, 2, 3, 4, 5), 100, replace = TRUE)
> x
[1] 2 4 1 1 3 1 1 1 1 1 2 2 5 5 4 5 5 3 4 1 2 2 3 3 3 5 1 3 4 5 5 3 2 4 3 1 3
[38] 1 4 5 4 1 4 5 4 5 2 4 2 5 3 4 3 1 2 1 1 …Run Code Online (Sandbox Code Playgroud) df.sorted <- c("binned_walker1_1.grd", "binned_walker1_2.grd", "binned_walker1_3.grd",
"binned_walker1_4.grd", "binned_walker1_5.grd", "binned_walker1_6.grd",
"binned_walker2_1.grd", "binned_walker2_2.grd", "binned_walker3_1.grd",
"binned_walker3_2.grd", "binned_walker3_3.grd", "binned_walker3_4.grd",
"binned_walker3_5.grd", "binned_walker4_1.grd", "binned_walker4_2.grd",
"binned_walker4_3.grd", "binned_walker4_4.grd", "binned_walker4_5.grd",
"binned_walker5_1.grd", "binned_walker5_2.grd", "binned_walker5_3.grd",
"binned_walker5_4.grd", "binned_walker5_5.grd", "binned_walker5_6.grd",
"binned_walker6_1.grd", "binned_walker7_1.grd", "binned_walker7_2.grd",
"binned_walker7_3.grd", "binned_walker7_4.grd", "binned_walker7_5.grd",
"binned_walker8_1.grd", "binned_walker8_2.grd", "binned_walker9_1.grd",
"binned_walker9_2.grd", "binned_walker9_3.grd", "binned_walker9_4.grd",
"binned_walker10_1.grd", "binned_walker10_2.grd", "binned_walker10_3.grd")
Run Code Online (Sandbox Code Playgroud)
人们会期望这个向量的顺序是1:length(df.sorted),但似乎并非如此.看起来R内部根据其逻辑对向量进行排序,但是很难以创建它的方式显示它(并且在输出中看到).
order(df.sorted)
[1] 37 38 39 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
[26] 23 24 25 26 27 28 29 30 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用sendmailR包从R发送电子邮件.当我在我的电脑上运行它时,下面的代码工作正常,我收到了电子邮件.但是,当我用我的macbook pro运行它时,它失败并出现以下错误:
library(sendmailR)
from <- sprintf("<sendmailR@%s>", Sys.info()[4])
to <- "<myemail@gmail.com>"
subject <- "TEST"
sendmail(from, to, subject, body,
control=list(smtpServer="ASPMX.L.GOOGLE.COM"))
Error in socketConnection(host = server, port = port, blocking = TRUE) :
cannot open the connection
In addition: Warning message:
In socketConnection(host = server, port = port, blocking = TRUE) :
ASPMX.L.GOOGLE.COM:25 cannot be opened
Run Code Online (Sandbox Code Playgroud)
关于为什么这可以在PC上运行但不是mac的任何想法?我在两台机器上关闭了防火墙.
Package sp为不同的空间概念(点,线,多边形)提供了许多类.对于某些类,访问要素坐标很简单,例如SpatialLines.所有示例均来自各个类帮助页面.
l1 = cbind(c(1,2,3),c(3,2,2))
l1a = cbind(l1[,1]+.05,l1[,2]+.05)
l2 = cbind(c(1,2,3),c(1,1.5,1))
Sl1 = Line(l1)
Sl1a = Line(l1a)
Sl2 = Line(l2)
S1 = Lines(list(Sl1, Sl1a), ID="a")
S2 = Lines(list(Sl2), ID="b")
Sl = SpatialLines(list(S1,S2))
coordinates(Sl)
# [prints a list of two with corresponding segments]
Run Code Online (Sandbox Code Playgroud)
对于SpatialPolygons,coordinates()返回多边形中心,如下所示.
Sr1 = Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))
Sr2 = Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))
Sr3 = Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)))
Sr4 = Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)), hole = TRUE)
Srs1 = Polygons(list(Sr1), "s1")
Srs2 = Polygons(list(Sr2), "s2")
Srs3 = Polygons(list(Sr3, Sr4), "s3/4")
SpP = …Run Code Online (Sandbox Code Playgroud) 当尝试使用SubgraphMining的示例代码时(示例在第35页),我收到一个错误:
"Error in setwd(paste(Sys.getenv("R_HOME"), "library", "subgraphMining", :
cannot change working directory"
Run Code Online (Sandbox Code Playgroud)
我正在使用RStudio 0.97.551,32位R(2.15.3 - 这个版本的R被推荐用于子图形挖掘),igraph0(也被推荐,而不是igraph库),Java安装.操作系统是Windows 8.任何人都可以帮我解决这个问题吗?
我想为大约200个拉链码和相邻的拉链码创建一个矩阵,触摸那些拉链码.矩阵将是200*200,两个zipcodes接触的单元格为1,而不是相邻的zipcodes,为0.
我怎么能创建或获得这样的矩阵?非常感谢你.
最好,
因为最近SO有点慢,我发布了一个简单的问题.如果大鱼留在替补席上为新手提供回应,我将不胜感激.
有时我们的对象具有大量的大型列表元素(向量).您如何将此对象"取消"到单个向量中.证明你的方法比你快unlist().
想象一下你有一个文件
sink("example.txt")
data.frame(a = runif(10), b = runif(10), c = runif(10))
sink()
Run Code Online (Sandbox Code Playgroud)
并希望添加一些标题信息,如
/* created on 31.3.2011 */
/* author */
/* other redundant information */
Run Code Online (Sandbox Code Playgroud)
我该如何添加这个"标题"?手动完成它似乎微不足道.点击几下进入,复制/粘贴或写入信息就完成了.当然,在R中,我可以读入example.txt,创建example2.txt,添加标题信息然后example.txt.
我想知道是否有另一种方式从"顶部"附加文件.其他解决方案(来自c ++或Java ...)也欢迎(我很好奇其他语言如何解决这个问题).