在R中扩展ROWWISE的值
我有一个从Excel导入的数据集,其中包含类似于以下示例的格式的数据:
var1 <- c("F3.1", NA, NA, NA, NA, "F3.2", NA, NA, NA, "F4.2", "F4.3", NA, NA)
var2 <- letters[1:13]
df <- data.frame(var1, var2)
df
var1 var2
1 F3.1 a
2 <NA> b
3 <NA> c
4 <NA> d
5 <NA> e
6 F3.2 f
7 <NA> g
8 <NA> h
9 <NA> i
10 F4.2 j
11 F4.3 k
12 <NA> l
13 <NA> m
我想扩展var1 rowwise,因此最终输出看起来像这样:
var1 var2
1 F3.1 a
2 F3.1 b
3 F3.1 c
4 F3.1 d
5 F3.1 e
6 F3.2 f
7 F3.2 g
8 F3.2 h
9 F3.2 i
10 F4.2 j
11 F4.3 k
12 F4.3 l
13 F4.3 m
我尝试用if(IS)编写某种循环(。 na(var1)){复制上一个值} else {var1},但尚未弄清楚。我还研究了Expand(),但发现很难应用于这种情况,因为我没有其他变量可以进行分组。 最后:示例只是一个示例;我正在以这种布局的形式导入很多擅长的情况,因此我正在寻找一种尽可能自动执行此操作的方法。
I have a dataset imported from Excel that contains data in a format similar to the example below:
var1 <- c("F3.1", NA, NA, NA, NA, "F3.2", NA, NA, NA, "F4.2", "F4.3", NA, NA)
var2 <- letters[1:13]
df <- data.frame(var1, var2)
df
var1 var2
1 F3.1 a
2 <NA> b
3 <NA> c
4 <NA> d
5 <NA> e
6 F3.2 f
7 <NA> g
8 <NA> h
9 <NA> i
10 F4.2 j
11 F4.3 k
12 <NA> l
13 <NA> m
I would like to expand var1 rowwise, so the final output would look like this:
var1 var2
1 F3.1 a
2 F3.1 b
3 F3.1 c
4 F3.1 d
5 F3.1 e
6 F3.2 f
7 F3.2 g
8 F3.2 h
9 F3.2 i
10 F4.2 j
11 F4.3 k
12 F4.3 l
13 F4.3 m
I've tried writing some sort of loop with if (is.na(var1)) {copy previous value} else {var1}, but haven't figured it out yet. I've also looked at expand(), but found it hard to apply to this case, because I have no other variable to group on.
Lastly: The example is just an example; I'm importing lots of Excels with this layout, so I'm looking for a way to execute this as automatic as possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将完成这项工作。参见在这里。
will do the job. See here.