Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 为什么行和适用于某些变量,而不适用于';你不喜欢别人吗?_R_Rowsum - Fatal编程技术网

R 为什么行和适用于某些变量,而不适用于';你不喜欢别人吗?

R 为什么行和适用于某些变量,而不适用于';你不喜欢别人吗?,r,rowsum,R,Rowsum,我使用以下代码行从其他变量创建新变量: FER_TMS_nopractice_recoded_replaced %>% select(FACE.RT, SCRAM1.RT_total, SCRAM2.RT_total, SCRAM3.RT_total, SCRAM4.RT_total, SCRAM5.RT_total, SCRAM6.RT_total, SCRAM7.RT_total, SCRAM8.RT_total,

我使用以下代码行从其他变量创建新变量:

FER_TMS_nopractice_recoded_replaced %>% select(FACE.RT, SCRAM1.RT_total, SCRAM2.RT_total, SCRAM3.RT_total, 
                             SCRAM4.RT_total, SCRAM5.RT_total, SCRAM6.RT_total, SCRAM7.RT_total, SCRAM8.RT_total, 
                             SCRAM9.RT_total, SCRAM10.RT_total, SCRAM11.RT_total, SCRAM12.RT_total, RESPOND.RT_total, 
                             WHITE4.RT_total) %>% rowSums(na.rm = TRUE) -> FER_TMS_nopractice_recoded_replaced$RT_TOTAL
问题是,虽然它对某些列工作正常,但对其他列,我得到以下错误: FACE.RESP+RESPOND.RESP中出错: 二进制运算符的非数值参数

所有列/变量都包含NA值,我不明白为什么代码只针对某些变量而不是其他变量执行。有什么解决办法的建议吗

数据结构:

structure(list(SessionDate = structure(c(1L, 1L, 1L), .Label = c("07-16-2019", 
"07-23-2019", "07-30-2019"), class = "factor"), SessionTime = structure(c(1L, 
1L, 1L), .Label = c("11:46:03", "12:09:32", "13:12:03", "13:36:15", 
"17:01:32", "17:28:27"), class = "factor"), Subject = c(3L, 3L, 
3L), Sex = structure(c(1L, 1L, 1L), .Label = "male", class = "factor"), 
    Age = c(23L, 23L, 23L), Handedness = structure(c(1L, 1L, 
    1L), .Label = "right", class = "factor"), preOrpost = c("PRE", 
    "PRE", "PRE"), Site = c("RIGHT", "RIGHT", "RIGHT"), Condition = structure(c(2L, 
    2L, 2L), .Label = c("EMOPRAC", "EMOstim", "GENDPRAC", "GENDstim"
    ), class = "factor"), Duration = c(300L, 40L, 40L), Correct = c(2L, 
    2L, 1L), FACE.RESP = c("1", "1", "1"), SCRAM1.RESP = c(NA, 
    NA, NA), SCRAM2.RESP = c(NA, NA, NA), SCRAM3.RESP = c(NA, 
    NA, NA), SCRAM4.RESP = c(NA, NA, NA), SCRAM5.RESP = c(NA, 
    NA, NA), SCRAM6.RESP = c(NA, NA, NA), SCRAM7.RESP = c(NA, 
    NA, NA), SCRAM8.RESP = c(NA_character_, NA_character_, NA_character_
    ), SCRAM9.RESP = c(NA_character_, NA_character_, NA_character_
    ), SCRAM10.RESP = c(NA_character_, NA_character_, NA_character_
    ), SCRAM11.RESP = c(NA_character_, NA_character_, NA_character_
    ), SCRAM12.RESP = c(NA_character_, NA_character_, NA_character_
    ), RESPOND.ACC = c(1L, 0L, 1L), RESPOND.RESP = c("1", "0", 
    "1"), WHITE4.RESP = c(NA, NA, NA), FACE.RT = c(NA_integer_, 
    NA_integer_, NA_integer_), SCRAM1.RT = c(NA_integer_, NA_integer_, 
    NA_integer_), SCRAM2.RT = c(NA_integer_, NA_integer_, NA_integer_
    ), SCRAM3.RT = c(NA_integer_, NA_integer_, NA_integer_), 
    SCRAM4.RT = c(NA_integer_, NA_integer_, NA_integer_), SCRAM5.RT = c(NA_integer_, 
    NA_integer_, NA_integer_), SCRAM6.RT = c(NA_integer_, NA_integer_, 
    NA_integer_), SCRAM7.RT = c(NA_integer_, NA_integer_, NA_integer_
    ), SCRAM8.RT = c(NA_integer_, NA_integer_, NA_integer_), 
    SCRAM9.RT = c(NA_integer_, NA_integer_, NA_integer_), SCRAM10.RT = c(NA_integer_, 
    NA_integer_, NA_integer_), SCRAM11.RT = c(NA_integer_, NA_integer_, 
    NA_integer_), SCRAM12.RT = c(NA_integer_, NA_integer_, NA_integer_
    ), RESPOND.RT = c(251L, 1111L, 426L), WHITE4.RT = c(NA_integer_, 
    NA_integer_, NA_integer_)), row.names = c(NA, 3L), class = "data.frame")

根据
dput
输出,其中两列不是
numeric
,即
FACE.RT
RESP.RESP
。我们可以使用
mutate_at
将它们转换为
数值
,现在代码就可以工作了

FER_TMS_nopractice_recoded_replaced <- FER_TMS_nopractice_recoded_replaced  %>% 
                          mutate_at(vars(FACE.RT, RESPOND.RESP), as.numeric)
FER\u TMS\u nopractice\u recodded\u replacement%
在(变量(FACE.RT,RESP.RESP),as.numeric)处进行变异

在这种情况下,错误消息是信息性的,即您可以检查
str(FER\u TMS\u nopractice\u recodded\u replaced)
并查看
行和
计算中是否包含非数值列,但它们都是数值,具有大量NA值。这意味着对于具有
NA_字符
的列,它是一个
字符
类列。将其转换为<代码>数字< /代码> <代码> AS。数字< /代码>,它应该工作,即<代码> AS。数字(Fr.TMSUnRraceTeCyE.Read Dead替换$YouTube)< /C> >如前所述,请考虑复制粘贴<代码> DPT(头(YouDATA))<代码>,以便我们获得您的DATE数据结构。一些列是
字符
类,而且
\u总计
列也不存在