在我的数据处理中,我需要执行以下操作:
#convert '7-25' to '0007 0025'
#pad 0's to make each four-digit number
digits.formatter <- function ('7-25'){.......?}
Run Code Online (Sandbox Code Playgroud)
我不知道如何在R中做到这一点.任何人都可以帮忙吗?
我的问题是如何创建一个新列,它是dplyr中某些特定列(由其名称选择)的总和.例如,使用iris数据集,我创建一个名为Petal的新列,它是Petal.Length和Petal.Width的总和.
iris %>% mutate(Petal = Petal.Length+Petal.Width)
Run Code Online (Sandbox Code Playgroud)
现在假设我有一个20列的数据集,其名称中包含'Petal'.我想创建一个"Petal"列,它总结了所有这些列.我绝对不想在我的代码中键入所有列名称.感觉在dplyr中应该有一行代码可以实现.感谢是否有人可以提供帮助.
我正在做单向方差分析和事后多重比较。以 mtcars 数据集为例:
mtcars$cyl <- as.factor(mtcars$cyl)
aov<- aov(mpg~cyl, data=mtcars)
summary(multcomp::glht(aov, linfct=mcp(cyl='Dunnet')))
Run Code Online (Sandbox Code Playgroud)
但是,我不想将变量硬编码为 cyl。所以我创建了一个变量 var='cyl':
var <- 'cyl'
aov <- aov(as.formula(paste('mpg~', var)), data=mtcars)
summary(multcomp::glht(aov, linfct=mcp( var='Dunnet')))
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
Error in mcp2matrix(model, linfct = linfct) : Variable(s) ‘var’ have been specified in ‘linfct’ but cannot be found in ‘model’!
Run Code Online (Sandbox Code Playgroud)
我认为问题来自在 mcp 函数中传递 var 。我怎样才能解决这个问题?我试过: as.name(var) , eval(quote(var)) ......但没有运气......非常感谢你的帮助。
我有一个患者数据,如下所示。每个受试者在 4 个不同的时间点进行测量。
df <- data.frame(
result = rnorm(48, 1,3),
time = rep(c('t1', 't2', 't3', 't4'), 12 ),
subject = rep(c(1:12), each=4),
gender = rep (c('M', 'F'), 6, each=4) )
Run Code Online (Sandbox Code Playgroud)
我制作了一个带有重叠数据点的箱线图:
pd = position_jitterdodge(dodge.width = 0.75, jitter.width = 0.3)
df %>%
ggplot (aes(x= time, y=result, fill=gender))+
geom_boxplot(alpha=0.2)+
geom_point(aes(color = gender),position = pd)+
scale_fill_brewer(palette = 'Set1')+
scale_color_brewer(palette = 'Set1')
Run Code Online (Sandbox Code Playgroud)
现在我需要添加线条来链接时间过程中的所有患者(数据点)。
df %>%
ggplot (aes(x= time, y=result, fill=gender))+
geom_boxplot(alpha=0.2)+
geom_point(aes(color = gender, group=subject),position = pd)+
geom_line(aes(color=gender, group=subject),
position=pd, alpha=0.3)+
scale_fill_brewer(palette = 'Set1')+ …Run Code Online (Sandbox Code Playgroud) 我可以这样重命名dplyr中的列:
mtcars %>% dplyr::rename('cylinder'=cyl)
Run Code Online (Sandbox Code Playgroud)
但是,如果我想以编程方式更改列名,如下所示:
cnames=c('cylinder', 'mile_per_gallon')
mtcars %>% dplyr::rename(cnames[1]=cyl)
# or like this
mtcars %>% dplyr::rename( !!sym(cnames[1])=cyl)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
Error: unexpected '=' in "mtcars %>% dplyr::rename(cnames[1]="
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会这样。有谁知道如何使它工作?谢谢。
有谁知道如何使用TensorFlow进行多任务深度学习?也就是说,共享底层而不共享顶层.你能不能分享一些示例代码?
如何用dplyr切割链接中的向量
v <- 1:10
#can be easily done with
v[v > 5]
#use chaining
v %>% ??
Run Code Online (Sandbox Code Playgroud)
我想让自己习惯链接......
我想运行 lm 模型并保存模型比较结果并提取 p 值。我想将所有信息保存在数据框中。以钻石数据集为例:
diamonds %>%
group_by(cut) %>%
do(model1 = lm(price~carat, data=.),
model2 = lm(price~carat+depth, data=.)) %>%
mutate(anova = anova(model2,model1)) %>%
mutate(pval= anova$'Pr(>F'[2])
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Error in mutate_impl(.data, dots) :
Column `anova` must be length 1 (the group size), not 6
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我的真实数据比这更复杂。只需使用菱形和线性模型来说明这个想法。非常感谢。
我可以使用 series.str.extract 从熊猫系列中提取子字符串。
ds = pd.Series(['1A apple', '1B pear', '3C orange', 'grape'])
ds.str.extract('(\\d.{1}).*', expand=False)
Run Code Online (Sandbox Code Playgroud)
我最初尝试的是使用 apply 函数。
ds.apply(lambda x: re.search('(\\d.{1}).*', x).group(1))
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
AttributeError: 'NoneType' object has no attribute 'group'
Run Code Online (Sandbox Code Playgroud)
似乎搜索模式不适用于第四个元素'grape'。所以它返回一个nonetype。我的问题是如何修复上面的应用函数以使其工作?我很好奇如何使用 apply 函数使用 str.extract 来实现相同的任务。非常感谢。
我正在尝试为我闪亮的应用程序构建一个 Docker 映像。下面是我的dockerfile. 当我构建图像时,其他一切看起来都很好,除了我收到错误消息Error in library(devtools) : there is no package called \xe2\x80\x98devtools\xe2\x80\x99 Execution halted。我也尝试过devtools::install_github(\'nik01010/dashboardthemes\')但没有成功。我不知道为什么?可能会出什么问题?有谁知道我的 dockerfile 有什么问题吗?多谢。
# Install R version 3.6\nFROM r-base:3.6.0\n\n# Install Ubuntu packages\nRUN apt-get update && apt-get install -y \\\n sudo \\\n gdebi-core \\\n pandoc \\\n pandoc-citeproc \\\n libcurl4-gnutls-dev \\\n libcairo2-dev/unstable \\\n libxt-dev \\\n libssl-dev\n\n# Download and install ShinyServer (latest version)\nRUN wget --no-verbose https://s3.amazonaws.com/rstudio-shiny-server-os-build/ubuntu-12.04/x86_64/VERSION -O "version.txt" && \\\n VERSION=$(cat version.txt) && \\\n wget --no-verbose "https://s3.amazonaws.com/rstudio-shiny-server-os-build/ubuntu-12.04/x86_64/shiny-server-$VERSION-amd64.deb" -O ss-latest.deb && \\\n gdebi …Run Code Online (Sandbox Code Playgroud)