我正在尝试生成图表并生成适当的表我需要使用函数。我写了以下代码片段: -
library(dplyr)
library(reshape)
x<-function(test)
{
test0 <- sprintf(test)
tableResgroup <- count(table1,"test0")
return(test0)
}
x("R Co")
问题是该值正确传递到test0但是dplyr抛出一个错误,说test0不是有效的列名,这是有道理的。
因为我是R的新手,任何人都可以帮忙吗?我有一个列(名称中有空格),需要在此列上对数据集进行子集化。手动它一切正常(我使用count(table1,R co
) - R co在单个刻度中,但我需要编写一个函数,因为我的名字中有很多列有空格,我打算将它们作为参数传递给我的功能。
数据
table1 <- structure(list(Rco = structure(c(1L, 1L, 1L, 2L, 2L, 2L),
.Label = c("A220", "B334"), class = "factor"),
month = structure(c(2L, 1L, 3L, 2L, 1L, 3L), .Label = c("Feb", "Jan", "Mar"), class = "factor"),
Count = c(12, 22, 33, 44, 55, 66)),
.Names = c("Rco", "month", "Count"),
row.names = c(NA, 6L), class = "data.frame")
## the column Rco has a space, so re-name it:
names(table1)[1] <- "R co"
答案 0 :(得分:0)
我尝试了以下内容并且有效: -
library(dplyr)
library(reshape)
x<-function(test)
{
tableResgroup <- count(table1,table1$`test`)
tableResgroup <- reshape::rename(tableResgroup,c("table1$test0"=test))
}
tableResgroup <- x("R Co")
如果有人有替代方式,请告诉我,因为我不确定这是多么优雅。
由于