我用R做了一个测量主动脉瓣上钙量的项目。我有5栏:三张传单上的卷和里面/外面的总容量。为了描述我在病人中发现的各种分布,我希望将每个模式(总计12个)与新列中的单个数字关联起来。例如:
..。
我查阅了R中的字典,但没有找到一个好的解决方案。
structure(
list(ctanalysis_abscv_l = c(7.897880437, 1263.82504529, 80.64252297, 602.51047473),
ctanalysis_abscv_r = c(15.38538081, 842.835871, 94.030160661, 694.35817674),
ctanalysis_abscv_n = c(275.901870908, 1356.2005494, 358.2288726, 794.49459655),
ctanalysis_inside_volume = c(35.8760545, NA, 153.5488922, 715.0530575),
ctanalysis_outside_volume = c(264.2563071, NA, 379.5414025, 1381.3362945)),
row.names = c(NA, 4L),
class = "data.frame")发布于 2020-04-18 21:28:04
如果没有提供的数据框架,这有点困难,但是,我想您可以将新值赋值给向量,然后将它们绑定到数据框架中。看起来应该是:
test.dat = ## whatever your original findings are
new.num = ## the vector of the number for each column. (need 5)
new.dat = data.frame(test.dat, new.num) ## new frame with "Test.dat$Findings"希望这是有用的。如果不是你想要的,我很抱歉。我只想在医学界帮忙。
发布于 2020-04-18 22:53:47
一种选择是使用pivot_longer将‘arrange’格式转换为'long‘格式,然后将'value’列转换为‘arrange’列,按'rn‘进行分组以paste列名,并使用match创建索引。
library(dplyr)
library(tidyr)
library(stringr)
df1 %>%
mutate(rn = row_number()) %>%
pivot_longer(cols = -rn, values_drop_na = TRUE) %>%
arrange(rn, desc(value)) %>%
group_by(rn) %>%
summarise(name = str_c(name, collapse="|")) %>%
mutate(new = match(name, unique(name))) %>%
select(-rn, -name) %>%
bind_cols(df1, .)https://stackoverflow.com/questions/61296196
复制相似问题