R 如何编写函数调用数据和列?

R 如何编写函数调用数据和列?,r,function,str-replace,R,Function,Str Replace,我希望我的职能是: 更改列中的值,使“,”为“.” 将该列转换为双精度 我尝试过这个等式的许多不同形式,但我不断得到错误“未知或未初始化列” convert\u number这并不能修复您的函数,但我认为这是一种方法: library(dplyr) df <- tibble(a = c("1,2", "3.4")) mutate_at(df, "a", ~as.numeric(gsub(",", ".", .))) > # A tibble: 2 x 1 a

我希望我的职能是:

  • 更改列中的值,使“,”为“.”
  • 将该列转换为双精度
我尝试过这个等式的许多不同形式,但我不断得到错误“未知或未初始化列”


convert\u number这并不能修复您的函数,但我认为这是一种方法:

library(dplyr)

df <- tibble(a = c("1,2", "3.4"))

mutate_at(df, "a", ~as.numeric(gsub(",", ".", .)))

>
# A tibble: 2 x 1
      a
  <dbl>
1   1.2
2   3.4
库(dplyr)
df
#一个tibble:2x1
A.
1   1.2
2   3.4
或者作为一种功能:

fun <- function(x, col) mutate_at(x, col, ~as.numeric(gsub(",", ".", .)))

df2 <- fun(df, "a")

fun
data$column
查找不存在的按字面意思称为“column”的列
data[[column]]
将为您清除此问题。

data[[column]]
可能比
data$column
的预期输出更具可比性。它现在无法将我的列从我的df连接到输出。你将如何编写一个1。更改列中的值,使“,”为“.”和2。将该列转换为双精度?我愿意接受任何建议,如:double(str_replace(data[[column]],“,”,“,”)谢谢!这似乎对我仍然不起作用。也许我需要重新开始。你将如何编写一个1。更改列中的值,使“,”为“.”和2。将该列转换为双精度?我愿意接受任何建议。您能提供您的数据帧样本吗?出于某种原因,需要使用子功能而不是gsub。成功了!非常感谢你的帮助!!真奇怪,他们两个都应该完成任务。如果这回答了您的问题,那么请向上投票并接受:-)现在,当我使用插入的数据帧和列运行函数时,它一次只会更改其中一个,并且只是暂时更改。你知道为什么会这样吗?是的,gsub和sub都是工作(:我对这方面还不熟悉
fun <- function(x, col) mutate_at(x, col, ~as.numeric(gsub(",", ".", .)))

df2 <- fun(df, "a")
df2 <- fun(df, c("a", "b", "c"))