小编mee*_*ram的帖子

如何使用wrap函数在GGally :: ggpairs中使用loess方法

我试图复制Coursera R回归模型课程中给出的这个简单示例:

require(datasets)
data(swiss)
require(GGally)
require(ggplot2)
ggpairs(swiss, lower = list(continuous = "smooth", params = c(method = "loess")))
Run Code Online (Sandbox Code Playgroud)

我希望看到一个6x6对图 - 一个散点图,黄土更平滑,瑞士数据中6个变量的每个组合的置信区间.

但是,我收到以下错误:

display_param_error()中的错误:'params'是不推荐使用的参数.请'包装'函数以提供参数.help("wrap",package ="GGally")

我通过看ggpairs()wrap()帮助文件,并尝试很多的排列wrap()wrap_fn_with_param_arg()功能.

我可以按预期工作:

ggpairs(swiss, lower = list(continuous = wrap("smooth")))
Run Code Online (Sandbox Code Playgroud)

但是一旦我添加了黄土部分,它就不会:

ggpairs(swiss, lower = list(continuous = wrap("smooth"), method = wrap("loess")))
Run Code Online (Sandbox Code Playgroud)

当我尝试上面这一行时,我收到此错误.

值[3L]出错:以下ggpair绘图函数随时可用:连续:c('points','smooth','density','cor','blank')组合:c('box','dot ','facethist','facetdensity','denstrip','blank')离散:c('ratio','facetbar','blank')na:c('na','blank')

diag continuous:c('densityDiag','barDiag','blankDiag')diag离散:c('barDiag','blankDiag')diag na:c('naDiag','blankDiag')

您还可以提供您自己的函数,该函数遵循函数的api(数据,映射,...){...并返回一个ggplot2绘图对象Ex:my_fn < - function(data,mapping,...){p < - ggplot(data = data,mapping = mapping)+ geom_point(...)p} ggpairs(data,lower = list(continuous = my_fn))

提供的功能:黄土

显然我在错误的地方进入黄土.任何人都可以帮我理解如何添加黄土部分?

请注意,我的问题与问题不同,因为我问如何在ggpairs中实现黄土,因为params参数已被弃用.

非常感谢.

r ggplot2 loess ggally

15
推荐指数
2
解决办法
7063
查看次数

如何在SQL Server非标准架构表上使用dplyr tbl

我的问题是如何在不使用默认"dbo"架构的SQL Server表上使用dplyr函数,例如tbl

有关更多上下文,我尝试将此处给出的R数据库示例应用于我自己的表:https: //db.rstudio.com/(向下滚动到"快速示例"部分).

它开始没问题.第一部分运行良好:

install.packages("dplyr")
install.packages("odbc")
install.packages("dbplyr")
install.packages("DBI")

con <- DBI::dbConnect(odbc::odbc(),
                   Driver    = "SQL Server", 
                   Server    = [My Server Name],
                   Database  = "mydatabase",
                   UID       = [My User ID],
                   PWD       = [My Password],
                   Port      = 1433)
Run Code Online (Sandbox Code Playgroud)

我能够连接到我的SQL Server并加载到我的数据库中的表中.我知道这是因为

DBI::dbListTables(con)

返回可用表的名称(但没有任何架构).

当应用于我自己的一个表时,下一行示例代码也可以工作,返回表中列的名称.

DBI::dbListFields(con, "mytable1")

但是,一旦我尝试运行下一行:

dplyr::tbl(con, "mytable1")

我得到一个Invalid object name 'mytable1'错误,而不是示例中的预期表预览.

当我在另一个表mytable2上运行相同的代码时,不会出现此错误.正如预期的那样,这次我在运行时获得了mytable2的预览:

dplyr::tbl(con, "mytable2")

mytable1和mytable2之间的一个区别是架构.mytable1使用一个伪造的"abc"模式,即mydatabase.abc.mytable1.mytable2使用默认的"dbo"架构,即mydatabase.dbo.mytable2.

我试过,dplyr::tbl(con, "abc.mytable1")但我得到了同样的Invalid object name错误.同样,当我尝试时dplyr::tbl(con, "dbo.mytable2")(虽然我排除dbo部分时运行正常). …

database r dplyr dbplyr

7
推荐指数
1
解决办法
1672
查看次数

How to use lapply to create new variables in a dataframe and rename them

我在数据框中有一些数字变量。我想创建以原始变量为中心的新变量,将新变量添加到我的数据框中,并重命名新变量,使其与原始变量具有相同的名称,但后缀为“_m”。

目前,我只能分两步执行此操作,并且我正在使用列索引进行子集化,这不是很灵活。

有没有办法将我的两阶段方法合二为一,并且还避免使用列索引,以便该过程可以正常工作,而无需计算我想要平均的列数,然后计算出这意味着添加多少新列到我的数据框?lapply如果有更好的方法,我不必使用。

这是我当前方法的简化版本:

df <- data.frame(a = letters[1:10], b = 1:10, c = 11:20)

df[4:5] <- lapply(df[2:3], function(x) {
      y <- scale(x, center = T, scale = F)
    }
)

names(df)[4:5] <- lapply(names(df)[2:3], function(x) {
    y <- paste0(x, "_m")
    }
)
Run Code Online (Sandbox Code Playgroud)

r lapply dataframe

2
推荐指数
1
解决办法
2533
查看次数

pandas groupby - 返回满足条件的组中的第一行

鉴于下面的示例数据集,我想返回一行,group显示obsnum第一行的 小于score0.4。

import pandas as pd
import numpy as np

np.random.seed(42)

df = pd.DataFrame({'group': ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c'],
'obsnum': [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4],
'score' : np.random.rand(12)})
Run Code Online (Sandbox Code Playgroud)

数据框如下所示:

df
  group obsnum  score
0   a     1   0.374540
1   a     2   0.950714
2   a     3   0.731994
3   a     4   0.598658
4   b     1   0.156019
5   b     2   0.155995
6   b     3 …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

2
推荐指数
1
解决办法
1415
查看次数

pandas:将字符串列拆分为多列并动态命名列

我的问题与这个这个类似,但我无法让他们的解决方案解决我的问题。

我有一个如下所示的数据框:

    study_id    fuzzy_market
0   study1  [Age: 18-67], [Country of Birth: Austria, Germany], [Country: Austria, Germany], [Language: German]
1   study2  [Country: Germany], [Management experience: Yes]
2   study3  [Country: United Kingdom], [Language: English]
3   study4  [Age: 18-67], [Country of Birth: Austria, Germany], [Country: Austria, Germany], [Language: German]
4   study5  [Age: 48-99]
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

研究编号 年龄 出生国家 国家 语言 管理经验
研究1 18-67 奥地利、德国 奥地利、德国 德语 没有任何
研究2 没有任何 没有任何 德国 没有任何 是的
研究3 没有任何 没有任何 英国 英语 没有任何
研究4 18-67 …

python split dataframe pandas

2
推荐指数
1
解决办法
1215
查看次数

标签 统计

r ×3

dataframe ×2

pandas ×2

python ×2

database ×1

dbplyr ×1

dplyr ×1

ggally ×1

ggplot2 ×1

lapply ×1

loess ×1

pandas-groupby ×1

split ×1