- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下数据
df <- tibble(a = rnorm(10,0,1), b = a+6, c = b/2)
df %>% mutate_at(vars(a, b), scale) %>% GGally::ggpairs()
Error: Column
a
must be a 1d atomic vector or a list
str()
更改为
mutate_at()
.
> df %>% mutate_at(vars(a, b), scale) %>% str
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 10 obs. of 3 variables:
$ a: num [1:10, 1] -1.274 -0.81 0.362 1.374 1.06 ...
..- attr(*, "scaled:center")= num 0.106
..- attr(*, "scaled:scale")= num 0.813
$ b: num [1:10, 1] -1.274 -0.81 0.362 1.374 1.06 ...
..- attr(*, "scaled:center")= num 6.11
..- attr(*, "scaled:scale")= num 0.813
$ c: num 2.54 2.72 3.2 3.61 3.48 ...
df
在我通过
mutate_at()
更改变量之后?例如,我如何使用
GGally::ggcoef
用我的缩放数据?
最佳答案
scale()
函数为您的向量添加了额外的属性,以便稍后可以取消缩放您的向量。但这似乎是骗人的ggpairs
不认为它是一个数字向量。您可以制作自己的包装器来清理额外的属性
simple_scale <- function(...) as.numeric(scale(...))
df %>% mutate_at(vars(a, b), simple_scale) %>% GGally::ggpairs()
关于r - mutate_at() : must be a 1d atomic vector or a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49161069/
我有一个问题: df = tibble(one = list('a', 'b'), two = list(c('p1', 'p2', 'p3'), NA_character_), three = li
我试图从所有其他列中减去一列,但并非所有列都被修改。 test % mutate_at(vars(-a), funs(. - !!as.name(col))) a b c
我刚问了a question about generating multiple columns at once with dplyr ,我是个笨蛋,把问题简单化了,还有另一个问题。我想找到一种 dp
使用 dplyr , 有没有办法在不使用 rowwise() 的情况下逐行选择性地改变列? 例如,给定下面的输入,我想在以“pre_”为前缀的列中用零替换负数: df % rowwise() %
我正在尝试收紧 %>%管道工作流,我需要将相同的函数应用于多列,但每次更改一个参数。我觉得purrr的 map或 invoke函数应该会有所帮助,但我无法理解它。 我的数据框包含预期生命周期、贫困率和
我一直在玩dplyr::mutate_at通过对某些列应用相同的函数来创建新变量。当我命名我的函数 在 .funs参数,mutate 调用创建带有后缀的新列而不是替换现有列,这是我在 this thr
这个问题已经有答案了: Create new variables with mutate_at while keeping the original ones (1 个回答) 已关闭 3 年前。 我有
如果我有这样的数据框 set.seed(1) df % mutate(Y = if_else(X > 10, -Y, Y), Z = if_else(X > 10,
我定义了必须应用于不同数据框列集的函数。例如,mtcars 我想将 as.integer() 函数应用于列 c("mpg", "cyl") 和 >as.logic() 到 c("vs", "am")
如果我有这样的数据框 set.seed(1) df % mutate(Y = if_else(X > 10, -Y, Y), Z = if_else(X > 10,
有一个 data.frame (tibble) 如下: require(dplyr) df_org 1 1 A 2 2 B 使用 mutate_at 会抛出以下错误
我经常遇到必须重新编码遵循相同结构的多个列并将它们保存到具有不同名称的列中的问题。如果我可以覆盖它们,这将只是 dplyr 中的一行,但由于我还想保留原始列,我不知道一个好的解决方案。下图。 这将是我
这个问题在这里已经有了答案: Applying a function to every row of a table using dplyr? (8 个回答) 关闭 3 年前。 我有一个列,我希望将其
我可以在单个 mutate_at 步骤中在同一列上连续使用多个函数,例如:(sqrt(log(x))) library(dplyr) head(mtcars) %>% select(mpg,
我正在尝试重新编码几个变量,但使用不同的重新编码方案。重新编码方案保存在一个列表中,其中每个元素都是 old = new 形式的命名向量。每个元素是数据框中每个变量的重新编码方案 我正在使用 muta
我正在尝试对 R 中数据框的多个列应用相同的函数。 我有一个单独的数据框,其中包含主数据框中的一些列。当主数据框中的列在另一个数据框中时,我想将这两列加在一起,但我似乎无法弄清楚如何访问 mutate
我有一个 data.frame具有大量名称遵循模式的列。如: df % mutate( x = ifelse(is.na(x_1), x_2, x_1), y = ifelse(i
require(dplyr) df % mutate_at(.vars = col_var, .funs = list(~ ifelse(df[, col_var+1] =
这是我的数据: ID a b c d 1 x 1 2 3 2 y 1 2 3 3 z NA NA NA 4 z 1 2 3 5 y NA NA NA 现在,如果我想用 a 组的 b 平均值替
我想创建一个函数,可以根据用户提供的输入变量和截止值列表以编程方式添加变量。 具体来说,我想定义一个函数 myfun 1
我是一名优秀的程序员,十分优秀!