我正在尝试在 RStudio 中使用 knitr 制作 pdf(使用 pdflatex/MiKTeX)。我在 Windows 10 机器上。在我本月(2021 年 2 月)更新 R、RStudio 和 MikTeX 之前,这一切正常。我收到一个错误,说,
“在 testdoc.tex 上运行 pdflatex.exe...失败错误运行 C:/Users/myusername/AppData/Local/Programs/MiKTeX/miktex/bin/x64/pdflatex.exe(退出代码 -1073740791)”
或 C:/ PROGRA~1/MiKTeX/miktex/bin/x64/pdflatex.exe
我的文件名为 testdoc.Rnw 并包含:
\documentclass{article}
\begin{document}
some text
\end{document}
Run Code Online (Sandbox Code Playgroud)
Sys.which("pdflatex")是正确的。我不想切换到 TinyTeX。我已经尝试了在 Rstudio 和堆栈溢出帖子中可以找到的所有建议。我看过日志文件。我注意到我不是唯一一个遇到这个问题的人,但其他人似乎都有不同的错误编号。请帮忙。
这是来自的输出sessionInfo():
R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的数据集:
p = c(3, 4, 5, 6, 7)
q = c("fr", "", "fr", "fe", "fre")
b = c(1, "", 1, "", 1)
a = c("r", "f", "b", "m", "p")
df=data.frame(p, q, b, a)
Run Code Online (Sandbox Code Playgroud)
我想将q、b和a联合起来,并将结果放在一个新列中,所以我使用了unite:
new_df <- df %>%
mutate(Merged = unite(q,b,a), sep = "_")
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
UseMethod("unite_") 中的错误:
没有适用于 'unite_' 的方法应用于类 "c('double', 'numeric')"
此外,独立于上述问题,如何在代码中指定一系列列,以便我不必手动输入所有列(我想合并数十列)。我可以将q:aq 列写入a 吗?我已经用粘贴功能尝试过这种语法,但没有用。
假设我有这个 df:
df <- data.frame(a= "a", b = 1, col3 = "c", col4 = "d") %>% print()
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此代码“延长”它时,
df %>% pivot_longer(1:4, names_to = "test", values_to = "test2")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error: Can't combine `a` <factor<127a2>> and `b` <double>.
Run Code Online (Sandbox Code Playgroud)
为什么我会得到这个?因为第一列和第一行都具有相同的值,“a”(我尝试过 names_repair 参数但没有成功)?还是因为 a 和 b 是不同的类?我不明白的是,我经常对不同类的数据进行透视,而且它总是有效。或者,是因为我试图旋转实际的标题(这确实是我需要做的)?
非常感谢任何帮助。期望的输出:
#a a
#b 1
#col3 c
#col4 d
Run Code Online (Sandbox Code Playgroud) 最小可重现示例:
import pandas as pd
data = {('Percent', 'Female'): {'Parents': 26.489226869455006, 'Spouse': 31.875792141951838}, ('Percent', 'Male'): {'Parents': 34.49901768172888, 'Spouse': 20.903732809430256}, ('N', 'Female'): {'Parents': 1578.0, 'Spouse': 1578.0}, ('N', 'Male'): {'Parents': 2545.0, 'Spouse': 2545.0}, ('Count', 'Female'): {'Parents': 418.0, 'Spouse': 503.0}, ('Count', 'Male'): {'Parents': 878.0, 'Spouse': 532.0}}
df = pd.DataFrame.from_dict(data)
df
Run Code Online (Sandbox Code Playgroud)
df:
Percent N Count
Female Male Female Male Female Male
Parents 26.489227 34.499018 1578.0 2545.0 418.0 878.0
Spouse 31.875792 20.903733 1578.0 2545.0 503.0 532.0
Run Code Online (Sandbox Code Playgroud)
我想按性别而不是统计数据对我的列进行分组,就像这个所需的输出一样:
Female Male
N Count Percent N Count …Run Code Online (Sandbox Code Playgroud)