我用R来分析我的修身.不幸的是,我遇到了这个问题:
我想计算一个新变量,它计算许多变量中每行一个变量的等级.
例:
V1 V2 V3 NewVariable_V1 NewVariable_V2 NewVariable_V3
11 21 35 3 2 1
22 12 66 2 3 1
44 22 12 1 2 3
Run Code Online (Sandbox Code Playgroud)
有谁知道这是怎么做到的吗?我很乐意帮忙.
我有一个表格中的项目列表,如下所示:
我的代码遍历每一行并对供应商进行分组,并将一些信息复制到每个供应商的工作簿中.
在这种情况下,有2个独特的供应商,因此将创建2个工作簿.
这有效.
接下来,我想将每个工作簿保存在特定的文件夹路径中.如果文件夹路径不存在,则应创建它.
这是这一段的代码:
'Check directort and save
Path = "G:\BUYING\Food Specials\4. Food Promotions\(1) PLANNING\(1) Projects\Promo Announcements\" & .Range("H" & i) & "\KW " & .Range("A" & i) & "\"
If Dir(Path, vbDirectory) = "" Then
Shell ("cmd /c mkdir """ & Path & """")
End If
wbTemplate.SaveCopyAs Filename:=Path & file & " - " & file3 & " (" & file2 & ").xlsx"
Run Code Online (Sandbox Code Playgroud)
出于某种原因,如果目录存在,则保存两个工作簿,但如果目录不存在且必须创建,则仅保存一个工作簿.
请有人告诉我我哪里出错了?提前致谢
完整代码:
Sub Create()
'On Error GoTo Message
Application.DisplayAlerts = False
Application.ScreenUpdating = …
Run Code Online (Sandbox Code Playgroud) 我需要绘制 3 个不同的图,设置相同的比例范围颜色。我有 3 个具有不同值范围的矩阵。
例如:
range(matrixA)
# 0.60 0.85
range(matrixB)
# 0.65 0.95
range(matrixA)
# 0.5 1.0
Run Code Online (Sandbox Code Playgroud)
我想为绘图填充相同的颜色。例如,对于差异图中的所有 0.8 值,如果在第一个图中 0.8 橙色,我希望不同图中的所有 0.8 值都是相同的橙色。
我此刻的问题是:
在第一个图中,最大值的颜色是红色,然后值 0.85 是红色。
在第二个图中,最大值为红色,但在这种情况下,最大值为 0.95,问题出现了。
我的代码:
mat.melted <- melt(matrixA)
colnames(mat.melted) <- c("p","c","v")
p <- ggplot(mat.melted, aes(x=c,y=p,fill=v) +
geom-tile() +
scale_fill_gradintn(limits = c(min(as.vector(matrixA)), max(as.vector(matrixA))),
colors = c("yellow","orange","red"))
Run Code Online (Sandbox Code Playgroud) 我有以下数据。
x_plus <- c(1.3660254, 1.1123724, 1.0000000, 0.9330127, 0.8872983,
0.8535534, 0.8273268, 0.8061862, 0.7886751, 0.7738613,
0.6936492, 0.6581139, 0.6369306, 0.6224745, 0.6118034,
0.5968246, 0.5866025, 0.5707107, 0.5612372, 0.5500000,
0.5433013, 0.5387298, 0.5353553, 0.5306186, 0.5273861,
0.5193649, 0.5158114, 0.5122474, 0.5103510, 0.5086603,
0.5050000, 0.5027386, 0.5008660)
x_minus <- c(-0.3660254, -0.1123724, 0.0000000, 0.0669873, 0.1127017,
0.1464466, 0.1726732, 0.1938138, 0.2113249, 0.2261387,
0.3063508, 0.3418861, 0.3630694, 0.3775255, 0.3881966,
0.4031754, 0.4133975, 0.4292893, 0.4387628, 0.4500000,
0.4566987, 0.4612702, 0.4646447, 0.4693814, 0.4726139,
0.4806351, 0.4841886, 0.4877526, 0.4896490, 0.4913397,
0.4950000, 0.4972614, 0.4991340)
y <- c(1.50, 3.00, 4.50, 6.00, 7.50, 9.00, 1.05e+01, …
Run Code Online (Sandbox Code Playgroud) 我正在阅读 Wickham 和 Grolemund 的“R for data science”中有关可视化的第一章。
我努力了:
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = "blue"))
Run Code Online (Sandbox Code Playgroud)
希望实现所有点都为蓝色的情节,但令我惊讶的是,它们都是红色的!阅读正确的代码来实现蓝点,在印刷版本的第11页或在线版本的第3.3节中,我发现它应该是
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy), color = "blue")
Run Code Online (Sandbox Code Playgroud)
事实上,他们指出,要手动设置美感,您必须在 aes() 函数之外,但在相应的 geom(此处为 geom_point())内给出它。为什么会这样呢?这种行为的确切解释是什么?事实上,对我来说,正确的语法将是第一个命令的语法似乎很自然。我想这个问题与层和/或变量的范围有关,但我只是无法掌握它的窍门。 .有人可以用勺子喂我吗?
编辑:抱歉,我没有做正确的作业:这只是相应部分末尾的文本本身中提出的练习 1...但我仍然无法得到答案。
我在下面有这个简单的VBA代码,我不知道为什么不工作.
Sub Run()
test = "MsgBox" & """" & "Job Done!" & """"
Application.Run test
End Sub
Run Code Online (Sandbox Code Playgroud)
我想要做的是将VBA命令作为文本放入变量并将其作为命令运行.在这种情况下,我想运行MsgBox "Job Done!"
和打印只是:
任务完成!
我想对一列应用几个函数,但我想应用一些关于何时执行此操作的逻辑,在这种情况下,当另一列有一些 NA 时。为了说明,我将向iris
数据集添加一些 NA并将其转换为 data.table:
library(data.table)
irisdt <- iris
## Prep some example data
irisdt[irisdt$Sepal.Length < 5,]$Sepal.Length <- NA
irisdt[irisdt$Sepal.Width < 3,]$Sepal.Width <- NA
## Turn this into a data.table
irisdt <- as.data.table(iris)
Run Code Online (Sandbox Code Playgroud)
如果我想申请max
多个列,我会这样:
## Apply a function to individual columns
irisdt[, lapply(.SD, max), .SDcols = c("Petal.Length", "Petal.Width")]
#> Petal.Length Petal.Width
#> 1: 6.9 2.5
Run Code Online (Sandbox Code Playgroud)
然而,在这种情况下,我想取出任何不是 NA 的行,Sepal.Length
然后返回 max 和 min 以及我为 NA 子集的列的名称。下面是一种丑陋的实现方式,但希望能说明我所追求的:
## Here is what the table would look like
desired_table …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个带有基于绘图的交互式图表的 rmarkdown HTML。虽然我可以完成图表中我想要的所有内容,但 crosstalk() 中的 filter_select() 不允许我在其中设置默认值。因此,我的图表在初始加载期间看起来笨拙且糟糕。
通过 R 中的串扰使用选择框在 R 绘图中选择默认值,使用静态 html 不闪亮
上面的讨论有一些输入,但我不知道如何在 crosstalk() 中进行这些编辑,因为我不熟悉 HTML/JavaScript。
我有一个数据框,我想在其中分隔包含月份和年份的列:
\nlibrary(tidyverse)\ndf <- data.frame(\n month_year = c("Januar / Janvier 1990", "Februar / F\xc3\xa9vrier 1990","M\xc3\xa4rz / Mars 1990")\n)\n\n# df\n# month_year\n# 1 Januar / Janvier 1990\n# 2 Februar / F\xc3\xa9vrier 1990\n# 3 M\xc3\xa4rz / Mars 1990\n
Run Code Online (Sandbox Code Playgroud)\n以下内容有效,但看起来有点笨拙:
\ndf %>% \n separate(month_year, c("month","nothing","nothing2", "year"), sep = " ") %>%\n select(-starts_with("nothing"))\n\n# month year\n# 1 Januar 1990\n# 2 Februar 1990\n# 3 M\xc3\xa4rz 1990\n
Run Code Online (Sandbox Code Playgroud)\n是否有更简洁的选择来达到相同的结果?
\n我有两个数据框,如下所示:
df1 <- data.frame(reference=c("cat","dog"))
print(df1)
#> reference
#> 1 cat
#> 2 dog
df2 <- data.frame(data=c("cat","car","catt","cart","dog","dog","pitbull"))
print(df2)
#> data
#> 1 cat
#> 2 car
#> 3 catt
#> 4 cart
#> 5 dog
#> 6 dog
#> 7 pitbull
Run Code Online (Sandbox Code Playgroud)
由reprex 包于 2021 年 12 月 29 日创建(v2.0.1)
我想找出 df1 中的单词 cat 和 dogs 在 df2 中出现了多少次。我希望我的数据看起来像这样
animals n
cat 1
dog 2
Run Code Online (Sandbox Code Playgroud)
任何帮助或指导表示赞赏。我的参考清单很大。我试图 grep 他们中的每一个,但需要时间。
感谢您的时间。节日快乐