数字数据为 R 中的二元运算符提供错误的非数字参数
Numeric data gives error non-numeric argument to binary operator in R
R 新手
我有一个名为 SortedDF 的数据框,其中包含 125143 个观察值和 5 个变量
Head(SortedDF)
number Retention time (min) Charge m/z Group
28637 98481 16.87978 2 350.1859 Progenesis_peptide
82465 DVQLPK 14.35000 2 350.2022 PEAKS_peptide
81468 DVQLPK 14.32000 2 350.2027 PEAKS_peptide
76662 DVQLPK 14.33000 2 350.2028 PEAKS_peptide
77423 DVQLPK 14.36000 2 350.2029 PEAKS_peptide
73768 DVQLPK 14.27000 2 350.2039 PEAKS_peptide
我想使用 lead 命令根据它们的 m/z 相似性来匹配肽。
MatchedDF <- SortedDF %>% mutate(matches_with_next_row = (abs(("m/z") - lead("m/z")) < 0.01))
在编写另一个数据库时,此代码运行良好。但是现在,我收到错误消息
Error in mutate()
: ! Problem while computing matches_with_next_row = ... & Group != lead(Group)
. Caused by error in ("m/z") - lead("m/z")
: ! non-numeric argument to binary operator Run
rlang::last_error()
to see where the error occurred.
检查时
class(SortedDF$"m/z")
(1) "numeric"
我检查了以下线程但没有成功:
x non-numeric argument to binary operator while using mutate
--> 在 m/z 附近尝试了 '' 但没有成功
其他跟帖主要讲的不是我的问题。如果有人知道我做错了什么,请告诉我。
"m/z"
是一个 non-numeric 字符,而带有反引号的 m/z
指的是特定列的数据变量:
MatchedDF <- SortedDF %>% mutate(
matches_with_next_row = (abs((`m/z`) - lead(`m/z`)) < 0.01)
)
建议不要对列名使用特殊字符,使这些表达式更容易编写。
R 新手
我有一个名为 SortedDF 的数据框,其中包含 125143 个观察值和 5 个变量
Head(SortedDF)
number Retention time (min) Charge m/z Group
28637 98481 16.87978 2 350.1859 Progenesis_peptide
82465 DVQLPK 14.35000 2 350.2022 PEAKS_peptide
81468 DVQLPK 14.32000 2 350.2027 PEAKS_peptide
76662 DVQLPK 14.33000 2 350.2028 PEAKS_peptide
77423 DVQLPK 14.36000 2 350.2029 PEAKS_peptide
73768 DVQLPK 14.27000 2 350.2039 PEAKS_peptide
我想使用 lead 命令根据它们的 m/z 相似性来匹配肽。
MatchedDF <- SortedDF %>% mutate(matches_with_next_row = (abs(("m/z") - lead("m/z")) < 0.01))
在编写另一个数据库时,此代码运行良好。但是现在,我收到错误消息
Error in
mutate()
: ! Problem while computingmatches_with_next_row = ... & Group != lead(Group)
. Caused by error in("m/z") - lead("m/z")
: ! non-numeric argument to binary operator Runrlang::last_error()
to see where the error occurred.
检查时
class(SortedDF$"m/z")
(1) "numeric"
我检查了以下线程但没有成功: x non-numeric argument to binary operator while using mutate --> 在 m/z 附近尝试了 '' 但没有成功
其他跟帖主要讲的不是我的问题。如果有人知道我做错了什么,请告诉我。
"m/z"
是一个 non-numeric 字符,而带有反引号的 m/z
指的是特定列的数据变量:
MatchedDF <- SortedDF %>% mutate(
matches_with_next_row = (abs((`m/z`) - lead(`m/z`)) < 0.01)
)
建议不要对列名使用特殊字符,使这些表达式更容易编写。