【发布时间】:2016-02-02 00:07:27
【问题描述】:
我正在尝试根据其他两列(file_name 和 Morph)中的值创建一列 (H2f_back)。当每个文件名的 Morph=B 时,我希望 H2f_MEAN 的值粘贴到 H2f_back 中。
对于给定的数据表(“数据”),这将导致如下结果:
file_name, H2f_MEAN, Morph, H2f_back
6052_1, 0.14, B, 0.14
6052_1, 0.22, C, 0.14
6052_2, 0.34, C, 0.41
6052_2, 0.41, B, 0.41
6052_3, 0.53, M, 0.01
6052_3, 0.01, B, 0.01
这段代码:
df<-read.csv("~/Desktop/IODP/EXP_337/SIMS/test.csv", header=TRUE)
df<-data.frame(df, stringsAsFactors = FALSE)
df %>% group_by(file_name, cumsum(Morph == 'background')) %>% mutate(H2f_back = H2f_MEAN[Morph == 'background']) %>% ungroup() %>% select(-4)
导致此错误:
错误:大小不兼容 (%d),需要 %d(组大小)或 1
【问题讨论】:
-
df<-data.frame(df, stringsAsFactors = FALSE)线路在做什么?读取数据时不能指定stringsAsFactors = FALSE吗?