在R中分割后停止标题名称更改

在R中分割后停止标题名称更改,r,R,我需要对代码做哪些更改,以便在将一列划分为另一列后创建新列时(使用列号而不是列名)不会重命名列标题,例如,如果我采用下表: Variable Value Total Chicken 5 9 Fish 3 5 Beef 2 3 Chicken 4 9 Beef 1 3 Fish 2 5 然后将值除以总数,得到一个百分比(同样,使用

我需要对代码做哪些更改,以便在将一列划分为另一列后创建新列时(使用列号而不是列名)不会重命名列标题,例如,如果我采用下表:

Variable     Value   Total
Chicken      5       9
Fish         3       5
Beef         2       3
Chicken      4       9
Beef         1       3
Fish         2       5
然后将值除以总数,得到一个百分比(同样,使用列号,而不是名称),它将“.Value”添加到“Percent”列标题的末尾(例如下面):

我可以对代码进行哪些更改以防止自动后缀,并简单地将列标题保留为“Average”而不是“Average.Value”?让事情更复杂的是,如果我尝试简单地用以下内容重命名标题:

names(dd)[4] <- "Average"
名称(dd)[4]
typeof(dd[2])
#[1]“列表”
类型(dd[,2])
#[1]“整数”
#试试这个

dd$Average@stevenjoe是时候读一些R的介绍了,不是吗?@Pascal,很高兴!有什么建议吗?我不久前在亚马逊上找过书,但找不到。@stevenjoe还有人能复制OP的那期吗?我不能。我得到了列名的“值”。@RichardScriven我不能。现在我需要帮助。有人能解释一下否决票的原因吗?只不过是其他(删除的)答案。将根据此线程中发生的情况重新考虑我的投票。@Pascal但这不是第一个答案吗?@Pascal是否还有办法让我看到删除的答案?我并不想说得太多,但是任何关于如何解决这个问题和/或将来应该避免什么的线索都将非常感激。我既不是反对者,也不建议删除你的帖子,但解释你的代码、它为什么回答OP的错误等问题通常是一个好主意。
names(dd)[4] <- "Average"
dd <- read.table(header=TRUE,text="
Variable     Value
Chicken      5
Fish         3
Beef         2
Chicken      4
Beef         1
Fish         2")

dd$Total <- with(dd,ave(Value,Variable,FUN=sum))

dd$Average <- round(dd[2] / dd[3], 2)
typeof(dd[2])
# [1] "list"
typeof(dd[,2])
# [1] "integer"

#try this
dd$Average <- round(dd[,2] / dd[,3], 2)