我目前正在翻译一些遗留的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中可以接受吗?(这一定是因为它来自旧代码)我误解了该行的含义吗?
这是我的数据框:
Run Code Online (Sandbox Code Playgroud)V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 3 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 4 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 …
我有一个看起来像这样的矢量
c(3,4,5,6,7,10,11,14,17,18,19,54,55,56,59,61)->k
Run Code Online (Sandbox Code Playgroud)
如何轻松检测连续数字的范围
3:7,10,11,14,17:19,54:56,59,61
Run Code Online (Sandbox Code Playgroud)
并将其保存在新的向量中?在那些存在范围(:)的情况下,将此范围的中位数保存为最好是输出
5,10,11,14,18,55,59,61
Run Code Online (Sandbox Code Playgroud)
是否有任何其他解决方案快速,也可以处理不像12,3,4,5,0,7那样提升的向量
进入12,4,0,7
我想从我的字符串向量中获取模式
string <- c(
"P10000101 - Przychody netto ze sprzedazy produktów" ,
"P10000102_PL - Przychody nettozy uslug",
"P1000010201_PL - Handlowych, marketingowych, szkoleniowych",
"P100001020101 - - Handlowych,, szkoleniowych - refaktury",
"- Handlowych, marketingowych,P100001020102, - pozostale"
)
Run Code Online (Sandbox Code Playgroud)
结果我想得到正则表达式的精确匹配
result <- c(
"P10000101",
"P10000102_PL",
"P1000010201_PL",
"P100001020101",
"P100001020102"
)
Run Code Online (Sandbox Code Playgroud)
我试过这个pattern = "([PLA]\\d+)"和不同的组合value = T, fixed = T, perl = T.
grep(x = string, pattern = "([PLA]\\d+(_PL)?)", fixed = T)
Run Code Online (Sandbox Code Playgroud) 我在删除字符串中的重复元素时遇到了一些问题.我的数据看起来与此类似:
idvisit path
1 1,16,23,59
2 2,14,14,19
3 5,19,23,19
4 10,10
5 23,23,27,29,23
Run Code Online (Sandbox Code Playgroud)
我有一个包含唯一ID的列和一个包含网页导航路径的列.右栏包含一些案例,其中页面刚重新加载,页面被跟踪两次甚至更多.页面用逗号分隔并保存为因子.我的问题是,我不想连续多个页面,所以数据应该是这样的.
idvisit path
1 1,16,23,59
2 2,14,19
3 5,19,23,19
4 10
5 23,27,29,23
Run Code Online (Sandbox Code Playgroud)
应删除彼此相邻的多个页面.我知道如何使用regexpressions删除特定的多个数字,但我有大约20,000个不同的页面,并且不能为所有这些页面执行此操作.对于我的问题,有没有人有解决方案或提示?
谢谢塞巴斯蒂安
我正在使用ggplot2创建一个带有散点图叠加的分组箱图.我想将每个散点图数据点与它对应的分组框图进行分组.
但是,我也喜欢散点图是不同的符号.我似乎能够将我的散点图分组与我的分组箱图分组,或者将我的散点图点指向不同的符号......但不能同时进行.下面是一些示例代码,用于说明发生的情况:
library(scales)
library(ggplot2)
# Generates Data frame to plot
Gene <- c(rep("GeneA",24),rep("GeneB",24),rep("GeneC",24),rep("GeneD",24),rep("GeneE",24))
Clone <- c(rep(c("D1","D2","D3","D4","D5","D6"),20))
variable <- c(rep(c(rep("Day10",6),rep("Day20",6),rep("Day30",6),rep("Day40",6)),5))
value <- c(rnorm(24, mean = 0.5, sd = 0.5),rnorm(24, mean = 10, sd = 8),rnorm(24, mean = 1000, sd = 900),
rnorm(24, mean = 25000, sd = 9000), rnorm(24, mean = 8000, sd = 3000))
value <- sqrt(value*value)
Tdata <- cbind(Gene, Clone, variable)
Tdata <- data.frame(Tdata)
Tdata <- cbind(Tdata,value)
# Creates the Plot of All Data
# The below code groups …Run Code Online (Sandbox Code Playgroud) 我们三个人使用相同的 R 脚本在R Studio 中开展我们的研究项目。这通过设置工作目录带来了一些问题,因为文件和数据表本地保存在每个人的 Dropbox 文件夹中。所以我们使用相同的脚本和相同的数据,但在我的例子中,工作目录的路径类似于“C:/Users/thoma/Dropbox/...”。
我可以在代码的开头通过setwd("directory")设置 wd ,但这仅适用于我。
我的问题:是否有命令询问我在哪里设置我的 wd,每个用户都可以设置自己的工作目录,例如askforwd()
每个文件夹中的数据都是同步的,因此这是每次不同用户运行代码时必须更改的唯一路径。
谢谢你的帮助!
这是我们的代码示例:
setwd("C:/Users/thoma/Dropbox/") #sets the directory
Datensatz <- read_excel("Datensatz.xlsx") #reads the synced data in the folder
这是我目前的代码。如您所见,我通过指定列索引从每一行的每个单元格中获取一个值。
for row_cells in sheet.iter_rows(min_row=1, max_row=10):
object = {"key1": str(row_cells[1].value), "Key2": str(row_cells[3].value),
"Key3": str(row_cells[4].value), "Key4": str(row_cells[2].value),
"Key5": str(row_cells[5].value)}
Run Code Online (Sandbox Code Playgroud)
现在,在给定的 Excel 表中,第一行始终包含每列的标题。有没有办法,而不是指定索引,我指定列的名称,然后在单元格中获取一个值。该.upper()方法确实为我们提供了一列最上面单元格的值。
我使用 rpart 训练了一个模型,我想生成一个图,显示用于决策树的变量的变量重要性,但我不知道如何做。
我能够提取变量重要性。我尝试过 ggplot 但没有显示任何信息。我尝试在其上使用plot()函数,但它只给我一个平面图。我还尝试了plot.default,它好一点,但仍然是我想要的。
这是 rpart 模型训练:
argIDCART = rpart(Argument ~ .,
data = trainSparse,
method = "class")
Run Code Online (Sandbox Code Playgroud)
将变量重要性放入数据框中。
argPlot <- as.data.frame(argIDCART$variable.importance)
Run Code Online (Sandbox Code Playgroud)
这是打印内容的一部分:
argIDCART$variable.importance
noth 23.339346
humanitarian 16.584430
council 13.140252
law 11.347241
presid 11.231916
treati 9.945111
support 8.670958
Run Code Online (Sandbox Code Playgroud)
我想绘制一个图表来显示变量/特征名称及其数字重要性。我就是无法让它做到这一点。它似乎只有一列。我尝试使用单独的函数将它们分开,但也无法做到这一点。
ggplot(argPlot, aes(x = "variable importance", y = "feature"))
Run Code Online (Sandbox Code Playgroud)
只是打印空白。
其他情节看起来真的很糟糕。
plot.default(argPlot)
Run Code Online (Sandbox Code Playgroud)
看起来它绘制了点,但没有放置变量名称。