【发布时间】:2022-07-06 00:52:08
【问题描述】:
'数据框列中的列表或向量,以便能够比较每个值并计算与 R 项目的匹配项'
| Col1 | Col2 |
|---|---|
| a | 3,2,20,6 |
| b | 3,0,20,15 |
| a | 3,2,20,50 |
| b | 3,6,59,0 |
| a | 3,4,20,6 |
'我有两列,col2是一个字符,但是我需要把它转换成一个向量,例如: c(“3”、“2”、“20”、“6”、“4”、“64”、“7”、“65”、“76”、“26”、“52”、“67”、 ”66”, ”76”, ”22”), 能够应用 %in% 并获取 True 的个数, 例如:'
'Table$Col3
| Col1 | Col2 | Col3 |
|---|---|---|
| a | 3,2,20,6 | |
| b | 3,0,20,15 | true, false, true, false |
| a | 3,2,20,50 | |
| b | 3,6,59,0 | true, false, false, false |
| a | 3,4,20,6 | true, false, true, false |
'最后算出真数'
| Col1 | Col2 | Col3 | Col4 |
|---|---|---|---|
| a | 3,2,20,6 | ||
| b | 3,0,20,15 | true, false, true, false | 2 |
| a | 3,2,20,50 | true, true, true, false | 3 |
| b | 3,6,59,0 | true, false, false, false | 1 |
| a | 3,4,20,6 | true, false, true, false | 2 |
'但是我无法将 Table$Col2[1] 转换为向量或列表,我总是得到引号之间的所有内容“c(“3”, ”2”, ”20”, ”6”, ”4” ,“64”,“7”,“65”,“76”,“26”,“52”,“67”,“66”,“76”,“22”)”,作为单个值,在此它比较整个列表的方式,而不是里面的值,而不是每个值。'
'我该如何解决这个问题?我突然想到,我可以将这些值分开,创建更多格式化为整数的列,然后将这些值连接起来以创建向量或列表,但我认为这会非常低效。'
【问题讨论】:
-
您是在与“Col2”中的第一个
list元素进行比较吗?您需要将Table$Col2[[1]]提取为vector。逻辑不清楚 -
你会
dput你的数据吗? -
@akrun: '是的,我想将第一行的值与其余的 fr 行进行比较'
-
@LauraMorcilloSánchez 为什么 Col3 的第三行是空的。第 3 行和第 1 行都有值 64?
-
@MohamedDesouky Desouky:'我的真实数据非常相似,我已将其简化以便能够放在这里'