我正在尝试生成图表并生成适当的表格,我需要使用函数。我写了下面的代码片段: -用函数内的dplyr替换数据
library(dplyr)
library(reshape)
x<-function(test)
{
test0 <- sprintf(test)
tableResgroup <- count(table1,"test0")
return(test0)
}
x("R Co")
的问题是值传递正确到TEST0但dplyr抛出一个错误,指出TEST0是不是一个有效的列名,这是有道理的。
由于我是一种新的R任何人都可以请帮忙吗?我有一个列(名称中有空格),需要在此列上对数据集进行子集划分。手动它的一切工作(我使用计数(表1,R co
)-Rř在单个滴答声,但我需要写一个函数,因为我有很多名称中有空格的列,我打算将这些作为参数传递给我的函数
数据
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"
什么是'test'和'table1'?你能否在你的问题中添加一些示例数据,以便其他人可以重现你的问题? – tospig
嗨tospig - table1只是一个输入数据表,我已经阅读了一个CSV形式,测试是我已经传递给我的函数x的参数。 test0用于存储测试的值,然后我尝试过滤test0上的行(很不幸不起作用),并将这些过滤的行存储在tableResgroup中。表1有一列“R Co”(等等),我想过滤“R Co”的各个值,然后在其他列上反复使用该功能。 – rantish
所以基本上我试图完成的是传递列名作为函数参数,然后使用该列的值在tableResgroup中生成计数。我认为我可以使用一个函数,但是当我将列名称作为函数传递时,我无法使代码正常工作。 – rantish