Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R dataframe中使用行和创建新列_R_Dataframe - Fatal编程技术网

在R dataframe中使用行和创建新列

在R dataframe中使用行和创建新列,r,dataframe,R,Dataframe,我正在尝试在R中做一些我认为非常简单的事情:添加一个包含总计的新列 我创建了一个新的数据集,并遵循这一点,但结果表明它计算的总和是错误的。然后,我采用了另一种有效的方法,但无法将结果附加为列 玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具

我正在尝试在R中做一些我认为非常简单的事情:添加一个包含总计的新列

我创建了一个新的数据集,并遵循这一点,但结果表明它计算的总和是错误的。然后,我采用了另一种有效的方法,但无法将结果附加为列

玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具玩具
#>             2            4            4            3             2
#>             5            5            4            4             3
#>             3            4            4            4             4
#>IUS_12_11_玩具IUS_12_12_玩具总数
#>              3             1    34
#>              4             4    47
#>              2             2    38
#问题在于,根据以下规定,总和是错误的:
行和(IUS_12_玩具)
#> [1] 36 51 42
#好的,现在我想将结果添加为一个新列:
IUS_12_toy[,13]=c(“总计”,行和(IUS_12_toy))
#但我有一个错误:

#>“[中的错误问题是使用了串联“Total”,这将导致
长度
1大于行数

IUS_12_toy[,13] <- rowSums(IUS_12_toy)
或使用
purrr

library(purrr)
IUS_12_toy %>%
     mutate(Total = reduce(., `+`))
另外,如果我们使用索引来创建列,那么默认情况下,
data.frame
将使用
make.names/nake.unique
执行健全性检查,并附加一个字符作为前缀,即此处为“V”

我们可以直接使用列名作为字符串

IUS_12_toy["Total"] <- rowSums(IUS_12_toy)

IUS_12_toy[“Total”]问题是使用串联“Total”,这将导致
长度大于行数

IUS_12_toy[,13] <- rowSums(IUS_12_toy)
或使用
purrr

library(purrr)
IUS_12_toy %>%
     mutate(Total = reduce(., `+`))
另外,如果我们使用索引来创建列,那么默认情况下,
data.frame
将使用
make.names/nake.unique
执行健全性检查,并附加一个字符作为前缀,即此处为“V”

我们可以直接使用列名作为字符串

IUS_12_toy["Total"] <- rowSums(IUS_12_toy)

IUS_12_toy[“Total”]Run
?装饰totals
,您将在文档的第一句中看到解释:

此函数默认情况下排除input data.frame的第一列,假设它包含描述性变量,但可以通过在…参数中指定要求和的列来重写此函数

如果有行的标识符,可以添加它并将其移动到第一列,然后继续操作

要对所有列求和,请为
..
的值指定
everything()

IUS_12_toy %>%
  adorn_totals("col",,,,everything())

这将生成您所需的值。

运行
?装饰总计
,您将在文档的第一句中看到解释:

此函数默认情况下排除input data.frame的第一列,假设它包含描述性变量,但可以通过在…参数中指定要求和的列来重写此函数

如果有行的标识符,可以添加它并将其移动到第一列,然后继续操作

要对所有列求和,请为
..
的值指定
everything()

IUS_12_toy %>%
  adorn_totals("col",,,,everything())

这将生成您所需的值。

谢谢您的帮助。但我有一个问题:我原始数据集中的列是因子。如果我将它们更改为数字,我可以计算行和,但我无法添加额外的列。我尝试创建一个玩具示例,但在玩具示例中,一切正常!发布问题的最佳方式是什么t表示原始数据集?如果它是
因子
,则为Nottolina。您必须在
行和
步骤之前,通过
as.numeric(as.character(df1$column))
将其转换为数值,如果(is.factor,~as.numeric(as.character(.),则对所有列
df1[]%进行变异
@Nottolina您可以使用
dput
显示结构。即
dput(液滴液位(头部(您的数据)))
并使用
dput
的输出副本编辑您的帖子。谢谢您的帮助。但我有一个问题:我原始数据集中的列是因子。如果我将它们更改为数字,我可以计算行和,但我无法添加额外的列。我尝试创建一个玩具示例,但在玩具示例中,一切都正常!这是什么发布涉及原始数据集的问题的最佳方法是什么?@Nottolina如果它是
因子
。您必须将其转换为数值,方法是在
行和
步骤之前使用
as.numeric(as.character(df1$column))
,对于所有列
df1[]%如果(is.factor,~as.numeric(as.character(.)),则使用mutate\u
@Nottolina您可以使用
dput
来显示结构。即
dput(droplevels(head(yourdata))
并使用
dput的输出副本编辑您的帖子