小编G5W*_*G5W的帖子

在向量前添加零

我们试图在带有值的365 X 1向量前面放置730个零值.我从另一个矩阵中剪切出这个矢量.因此,行索引号现在不再有用且令人困惑,例如,具有值的向量以50开始.如果我创建具有零值的另一个向量或数组,然后使用rbind将其绑定到具有将生成的值的向量之前由于混合了行索引号而产生的奇怪值,并将其作为3d元素处理.

感谢任何想法如何实现或如何重置行索引号.最好的法比安!

示例:这是带有值的向量

 pred_mean_temp
 366     -3.0538333
 367     -2.8492875
 368     -3.1645825
 369     -3.5301074
 370     -1.2463058
 371     -1.7036682
 372     -2.0127239
 373     -2.9040319
 ....
Run Code Online (Sandbox Code Playgroud)

我想在它前面添加一个带有730行的零向量.所以看起来应该是这样的:

 1        0
 2        0
  ....
 731     -3.0538333   
 732     -2.8492875
 733     -3.1645825
  .... 
Run Code Online (Sandbox Code Playgroud)

arrays row r vector zero

5
推荐指数
2
解决办法
4679
查看次数

x[j] 中的错误:在 R 中使用子集时无效的下标类型“列表”

我在尝试对数据框进行子集化时遇到问题。这是我用来导入数据文件和子设置的代码;

fiber_val<-read.csv(file.choose(), header=TRUE, dec=",", check.names=FALSE,stringsAsFactors=FALSE)
y<-14
z<-16
fiber_val[, y:z] <- sapply(fiber_val[, y:z], as.numeric)

fiber_val$sg<-(fiber_val$airdryweight/1.077)/fiber_val$waterweight

fiber_val<-subset(fiber_val, select = c(id,sample,standtreedisk,density,sg))
Run Code Online (Sandbox Code Playgroud)

运行最后一行后,它对我大喊大叫

Error in x[j] : invalid subscript type 'list'
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的数据集的一部分;

id  stand   tree    disk    species region  standtreedisk   nirblock    sample  barktopith  pithtobark  length  sections    ringssection    airdryweight    waterweight density
1   160 7   10  131 6   160x7x10    749 16907   4   2   52  5   2   0.6489  1.3245  0.48992
2   160 7   10  131 6   160x7x10    749 16905   2   4   52  5   3   0.6062  1.2206  0.49664
3 …
Run Code Online (Sandbox Code Playgroud)

r subset dataframe

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

使用R可视化图中的所有短路径

第一个简单数据

m <- read.table(row.names = 1, header = TRUE, text = 
                  "  A   B   C   D   E   F
                A 0   1   1   1   1   5
                B 1   0   1   1e2 1e2 1
                C 1   1   0   1   1   1
                D 1   1e2 1   0   1e2 1
                E 1   1e2 1   1e2 0   1
                F 5   1   1   1   1   0")
m <- as.matrix(m)
Run Code Online (Sandbox Code Playgroud)

使用igraph库

ig <- graph.adjacency(m, mode = "undirected", weighted = TRUE, diag = FALSE)
sp <- shortest.paths(ig, algorithm …
Run Code Online (Sandbox Code Playgroud)

r igraph

5
推荐指数
0
解决办法
100
查看次数

在R中绘制世界地图

我试图使用R和来可视化来自世界地图中国家的一些数据ggplot2.我使用以下代码(示例):

WorldData <- map_data('world')
df <-data.frame(region=c('Hungary','Lithuania','Argentina'),value=c(4,10,11))
Total <- merge(WorldData,df,by='region')
Run Code Online (Sandbox Code Playgroud)

并使用ggplot进行绘图:

p <- ggplot()
p <- p + geom_polygon(data=Total, aes(x=long, y=lat, group = group,fill=Total$value),colour="white") + 
         scale_fill_continuous(low = "thistle2", high = "darkred", guide="colorbar")
P1 <- p + theme_bw()  + labs(fill = "legend" ,title = "Title", x="", y="")
P1 + scale_y_continuous(breaks=c()) + scale_x_continuous(breaks=c()) + theme(panel.border =  element_blank())
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

在此输入图像描述

我认为,问题出在merge,因为当我更改数据选项geom_polygonWorldDatafill选项,1我有以下结果: 在此输入图像描述

这是否发生是因为我没有来自所有国家的数据df?我怎么能超过那个?

编辑:我想要的是绘制整个地图.(我的描述中不清楚)

r ggplot2

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

“ tidyr”的单独函数中有多个单独的参数

我有一个关于将一列分为多列的问题。

我要分隔的字符串示例类似于“ 87 BestMovie.GOOD”,分隔位置是空格' ''.'

我尝试过这样

df=data.frame(Eastwood=c('87 BestMovie.GOOD'))
sep=df%>%
separate(Eastwood,into=c('age','Select','Movie'),sep=c(' ','.'))
Run Code Online (Sandbox Code Playgroud)

警告消息:1:1位置的值太多:2 2:1位置的值太少:1

或者换个角度来看,我们可以实现字符串位置进行分隔吗?

谢谢!

r dplyr tidyr

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

R提取第n个和第i个分隔符实例之间的字符串

我有一个字符串向量,类似于这个,但有更多的元素:

s <- c("CGA-DV-558_T_90.67.0_DV_1541_07", "TC-V-576_T_90.0_DV_151_0", "TCA-DV-X_T_6.0_D_A2_07", "T-V-Z_T_2_D_A_0", "CGA-DV-AW0_T.1_24.4.0_V_A6_7", "ACGA-DV-A4W0_T_274.46.0_DV_A266_07")
Run Code Online (Sandbox Code Playgroud)

我想使用一个函数来提取分隔符“_”的第 n 个和第 i 个实例之间的字符串。例如,第 2 个 (n = 2) 和第 3 个 (i = 3) 实例之间的字符串,得到这个:

[1] "90.67.0"  "90.0"     "6.0"      "2"        "24.4.0"   "274.46.0"
Run Code Online (Sandbox Code Playgroud)

或者如果 n = 4 且 i = 5"

[1] "1541" "151"  "A2"   "A"    "A"    "A266"
Run Code Online (Sandbox Code Playgroud)

有什么建议?感谢您的帮助!

regex r

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

多边形之间重叠的百分比

我是R的新手,这是我第一次在这里发帖,想让你们知道我还是R语言的新手,希望它能简化你的答案.我目前正在做我的硕士论文,其中包括很多关于包含南非不同物种分布的shapefile的工作.我的研究包括4个动物家族; 1个猎物家族(由29种物种组成)和3个捕食性家庭(每个包含更多物种).对于每个物种,我有一个shapefile,其分布为多边形,所以我有很多shapefile.我现在的问题是,我必须计算每个捕食者与每个猎物种类重叠的百分比(100%重叠是捕食者的分布/多边形在猎物的分布/多边形内,因此百分比应相对于猎物种类的多边形).

我知道我可以分别对每个物种一个一个地做这个,但这实际上花了我几个星期,我没有时间.甚至我在大学的发起人也没有做过这样的事情,并试图弄清楚自己.他最初给了我这个代码:

my_rangemaps <- list.files(path = "imagine_rangemaps", pattern = ".shp", full.names = TRUE) 
my_rangemaps 
rangemap_matrix <- pairwiseRangemaps(my_rangemaps, projection = 3035, 
             Ncpu = 1, nchunks = 1, filename = "rangemap_matrix.csv") 
Run Code Online (Sandbox Code Playgroud)

但结果不是我们所期望的,因为它不计算相对于任何多边形的百分比.有没有人知道使用相对简单的代码获得重叠百分比的方法而没有太多的模糊?可能导致包含所有物种/形状文件/多边形的矩阵形式?

谢谢大家!

r

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

R Corrplot 方形(平铺)大小

我正在使用 method="number" 绘制包含 10 个变量的相关图。我正在尝试导出具有大字体大小(number.cex = 3,tl.cex = 3)的绘图以用于发布目的,但正方形的大小不会增加以适应更大的字体。有办法修改这个吗?

这是我的代码(如果有帮助的话):

corrplot(as.matrix(K), tl.cex = 3, tl.col = "black", method = "color", 
         outline = T,  order="hclust", 
         addCoef.col = "black", number.digits = 2, number.cex = 3, 
         cl.pos = 'b', cl.cex = 3, addrect = 3, rect.lwd = 3, 
         col = colorRampPalette(c("midnightblue", "white","darkred"))(100))
Run Code Online (Sandbox Code Playgroud)

r r-corrplot

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

在Fortran中使用序列初始化数组

我目前正在翻译一些遗留的fortran代码,并且很难理解代码中的特定行。编译器似乎也发现这行很奇怪,并抛出错误。据我了解,它试图通过以1为增量对1到9进行排序来初始化数组,并以列主形式将此序列填充到数组矩阵中。

program arrayProg

  integer :: matrix(3,3), i , j !two dimensional real array

  matrix = reshape((/1:9:1/), (/3,3/))

end program arrayProg
Run Code Online (Sandbox Code Playgroud)

这种语法在fortran中可以接受吗?(这一定是因为它来自旧代码)我误解了该行的含义吗?

arrays fortran translation

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

colMeans(x, na.rm = TRUE) 中的错误:“x”在 KNN 分类中必须是数字

我有以下代码来尝试在分类模型中使用 knn:

library(dplyr)
library(e1071)
library(ggplot2)
library(nnet)
library(DMwR)
library(rpart.plot)
library(class)

dat         <- read.csv("C:/Users/Ze/Desktop/HallowSet/train.csv",header = T,stringsAsFactors = F)

needToSolve <- read.csv("C:/Users/Ze/Desktop/HallowSet/test.csv",header = T,stringsAsFactors = F)

dat$color <- factor(dat$color)
dat$type  <- factor(dat$type)

sp    <- sample(1:nrow(dat),0.7*nrow(dat))
train <- dat[sp,]
test  <- dat[-sp,]
full  <- rbind(train,test)



pre <-kNN(type ~ .,train ,test,k=3,norm=TRUE,type='class')
Run Code Online (Sandbox Code Playgroud)

但是当代码到达下一行时,我得到一个 colMeans(x, na.rm = TRUE) : 'x' 必须是数字,我不知道为什么会发生这种情况以及如何解决它,有人可以告诉我吗?谢谢提前。

字符串(完整):

'data.frame':   259 obs. of  12 variables:
$ id           : int  62 699 23 172 701 70 809 393 465 839 ...
$ bone_length  : num …
Run Code Online (Sandbox Code Playgroud)

runtime-error r knn

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

标签 统计

r ×9

arrays ×2

dataframe ×1

dplyr ×1

fortran ×1

ggplot2 ×1

igraph ×1

knn ×1

r-corrplot ×1

regex ×1

row ×1

runtime-error ×1

subset ×1

tidyr ×1

translation ×1

vector ×1

zero ×1