在数据帧r中粘贴“(,”

在数据帧r中粘贴“(,”,r,report,paste,R,Report,Paste,我有一个包含四列的数据,我想合并最后两列并添加到这些列中,这样我就可以将输出复制并粘贴到word中 or p ll ul (Intercept) 0.007 <0.001 0.004 0.011 agecat35-54 1.266 0.017 1.043 1.537 agecat55-69 1.761 <0.001 1.432 2.166 agecat70-84 3.097 <0.001 2.46

我有一个包含四列的数据,我想合并最后两列并添加到这些列中,这样我就可以将输出复制并粘贴到word中

                or      p     ll     ul
(Intercept)  0.007 <0.001  0.004  0.011
agecat35-54  1.266  0.017  1.043  1.537
agecat55-69  1.761 <0.001  1.432  2.166
agecat70-84  3.097 <0.001  2.467  3.888
agecat85+    4.229 <0.001  3.307  5.408
female_1     0.766 <0.001  0.684  0.857
理想情况下,我如何使其看起来像这样:

                or      p    % 95 CI
(Intercept)  0.007 <0.001  (0.004, 0.011)
agecat35-54  1.266  0.017  (1.043, 1.537)
agecat55-69  1.761 <0.001  (1.432, 2.166)
agecat70-84  3.097 <0.001  (2.467, 3.888)
agecat85+    4.229 <0.001  (3.307, 5.408)
female_1     0.766 <0.001  (0.684, 0.857)

谢谢!!

让我们调用您的数据帧df

df$percent95CI <- paste0('(',df$ll,', ',df$ul,')')

上面的表达式将为您提供所需的列。

这里有一个使用dplyr的替代方法


paste0,dat$ll,,,dat$ul,@onyanbu抱歉,我猜我同时回答了。没什么大不了的。你的答案是。我的是评论
library(dplyr)

data = read.table(header = T,text = 'or      p     ll     ul
(Intercept)  0.007 <0.001  0.004  0.011
agecat35-54  1.266  0.017  1.043  1.537
agecat55-69  1.761 <0.001  1.432  2.166
agecat70-84  3.097 <0.001  2.467  3.888
agecat85+    4.229 <0.001  3.307  5.408
female_1     0.766 <0.001  0.684  0.857')

# note the back ticks around the new column
# this allows the name to be created with arbitrary characters
summary <- 
  data %>%
  mutate(`% 95 CI` = paste0('(', ll, ', ', ul, ')')) %>%
  select(-ll, -ul)

rownames(summary) = rownames(data)
summary
#or      p        % 95 CI
#(Intercept) 0.007 <0.001 (0.004, 0.011)
#agecat35-54 1.266  0.017 (1.043, 1.537)
#agecat55-69 1.761 <0.001 (1.432, 2.166)
#agecat70-84 3.097 <0.001 (2.467, 3.888)
#agecat85+   4.229 <0.001 (3.307, 5.408)
#female_1    0.766 <0.001 (0.684, 0.857)