首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不正确的维数R- rowSums

不正确的维数R- rowSums
EN

Stack Overflow用户
提问于 2022-05-18 12:35:50
回答 2查看 71关注 0票数 1

我对编码非常陌生,所以我基本上是在搜索所有内容,但我无法理解这一条:

我有一个32行和19列的数据框架。我要计算三列中每一行的和。

我是这样写的:

D10 -我的数据帧.

Compliance_score -我要添加的新列

Compliance_1-3 -我想和的列

代码语言:javascript
复制
D10$Compliance_score = rowSums(D10[ ,c("Compliance_1", "Compliance_2", "Compliance_3"), drop = FALSE])

我一直收到错误:"incorrect number of dimensions".

不知道我做错了什么,或者这个错误信息意味着什么。

有什么想法吗?

**编辑:如果我正确理解了什么是复制的例子(这是我第一次,我希望我做对了-如果没有,请告诉我)

代码语言:javascript
复制
> dput(head(D10))
structure(list(PP = c("003", "014", "047", "013", "053", "048"
), MAAS_1 = c("4.0", "4.0", "3.0", "5.0", "3.0", "4.0"), MAAS_2 = 
c("3.0", 
"1.0", "6.0", "4.0", "3.0", "3.0"), MAAS_3 = c("4.0", "5.0", 
"4.0", "3.0", "4.0", "4.0"), MAAS_4 = c("2.0", "2.0", "6.0", 
"2.0", "3.0", "4.0"), MAAS_5 = c("3.0", "3.0", "4.0", "5.0", 
"5.0", "5.0"), MAAS_6 = c("3.0", "3.0", "4.0", "3.0", "2.0", 
"4.0"), MAAS_7 = c("3.0", "3.0", "4.0", "3.0", "3.0", "5.0"), 
    MAAS_8 = c("2.0", "4.0", "4.0", "4.0", "4.0", "4.0"), MAAS_9 
= c("3.0", 
    "4.0", "3.0", "2.0", "4.0", "5.0"), MAAS_10 = c("3.0", "4.0", 
    "4.0", "2.0", "4.0", "4.0"), MAAS_11 = c("2.0", "5.0", "4.0", 
    "4.0", "1.0", "5.0"), MAAS_12 = c("2.0", "5.0", "6.0", "3.0", 
    "3.0", "6.0"), MAAS_13 = c("3.0", "3.0", "5.0", "3.0", "3.0", 
    "2.0"), MAAS_14 = c("3.0", "4.0", "5.0", "4.0", "4.0", "4.0"
    ), MAAS_15 = c("3.0", "5.0", "6.0", "3.0", "5.0", "5.0"), 
    Compliance_1 = c("0.0", "0.0", "0.0", "0.0", "1.0", "0.0"
    ), Compliance_2 = c("1.0", "0.0", "1.0", "0.0", "1.0", "0.0"
    ), Compliance_3 = c("0.0", "0.0", "0.0", "0.0", "0.0", "0.0"
    )), row.names = c(NA, -6L), class = c("tbl_df", "tbl",         
"data.frame"
))
>

这有意义吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-18 13:18:54

你可以试试这个:

代码语言:javascript
复制
library(tidyverse)
New_D <- D10 %>%
  mutate(Compliance_score = sum(c(Compliance_1, Compliance_2, Compliance_3), na.rm=TRUE))

但是,一个可重复的例子将是很好的理解错误。

克莱尔

票数 1
EN

Stack Overflow用户

发布于 2022-05-19 12:19:31

您的问题是数据存储为字符,因此需要将其转换为类numeric以计算和,即

代码语言:javascript
复制
library(dplyr)

New_D <- df %>%
  mutate(across(starts_with("Compliance"), as.numeric)) %>% 
  mutate(Compliance_score = Compliance_1 + Compliance_2 + Compliance_3)

或者在你有NA‘值的时候用“Claire”建议

代码语言:javascript
复制
New_D <- df %>%
  mutate(across(starts_with("Compliance"), as.numeric)) %>% 
  mutate(Compliance_score = sum(c(Compliance_1, Compliance_2, Compliance_3),
                                na.rm=TRUE))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72289301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档